diff --git a/src/Ocelot/Controllers/ReRoutesController.cs b/src/Ocelot/Controllers/ReRoutesController.cs new file mode 100644 index 00000000..0b02c796 --- /dev/null +++ b/src/Ocelot/Controllers/ReRoutesController.cs @@ -0,0 +1,13 @@ +using Microsoft.AspNetCore.Mvc; + +namespace Ocelot.Controllers +{ + [RouteAttribute("reroutes")] + public class ReRoutesController + { + public IActionResult Get() + { + return new OkObjectResult("hi from re routes controller"); + } + } +} \ No newline at end of file diff --git a/src/Ocelot/Middleware/OcelotMiddlewareExtensions.cs b/src/Ocelot/Middleware/OcelotMiddlewareExtensions.cs index 352aa501..afc080a0 100644 --- a/src/Ocelot/Middleware/OcelotMiddlewareExtensions.cs +++ b/src/Ocelot/Middleware/OcelotMiddlewareExtensions.cs @@ -31,7 +31,16 @@ namespace Ocelot.Middleware public static IApplicationBuilder UseOcelot(this IApplicationBuilder builder) { CreateConfiguration(builder); + + builder.Map("/admin", x => + { + x.UseMvc(); + }); + builder.UseOcelot(new OcelotMiddlewareConfiguration()); + + + return builder; } diff --git a/test/Ocelot.ManualTest/configuration.json b/test/Ocelot.ManualTest/configuration.json index 9b5fcb7e..fc0b6567 100644 --- a/test/Ocelot.ManualTest/configuration.json +++ b/test/Ocelot.ManualTest/configuration.json @@ -5,7 +5,7 @@ "DownstreamScheme": "http", "DownstreamHost": "localhost", "DownstreamPort": 52876, - "UpstreamTemplate": "/identityserverexample", + "UpstreamPathTemplate": "/identityserverexample", "UpstreamHttpMethod": "Get", "QoSOptions": { "ExceptionsAllowedBeforeBreaking": 3, @@ -50,7 +50,7 @@ "DownstreamScheme": "http", "DownstreamHost": "jsonplaceholder.typicode.com", "DownstreamPort": 80, - "UpstreamTemplate": "/posts", + "UpstreamPathTemplate": "/posts", "UpstreamHttpMethod": "Get", "QoSOptions": { "ExceptionsAllowedBeforeBreaking": 3, @@ -63,7 +63,7 @@ "DownstreamScheme": "http", "DownstreamHost": "jsonplaceholder.typicode.com", "DownstreamPort": 80, - "UpstreamTemplate": "/posts/{postId}", + "UpstreamPathTemplate": "/posts/{postId}", "UpstreamHttpMethod": "Get", "QoSOptions": { "ExceptionsAllowedBeforeBreaking": 3, @@ -76,7 +76,7 @@ "DownstreamScheme": "http", "DownstreamHost": "jsonplaceholder.typicode.com", "DownstreamPort": 80, - "UpstreamTemplate": "/posts/{postId}/comments", + "UpstreamPathTemplate": "/posts/{postId}/comments", "UpstreamHttpMethod": "Get", "QoSOptions": { "ExceptionsAllowedBeforeBreaking": 3, @@ -89,7 +89,7 @@ "DownstreamScheme": "http", "DownstreamHost": "jsonplaceholder.typicode.com", "DownstreamPort": 80, - "UpstreamTemplate": "/comments", + "UpstreamPathTemplate": "/comments", "UpstreamHttpMethod": "Get", "QoSOptions": { "ExceptionsAllowedBeforeBreaking": 3, @@ -102,7 +102,7 @@ "DownstreamScheme": "http", "DownstreamHost": "jsonplaceholder.typicode.com", "DownstreamPort": 80, - "UpstreamTemplate": "/posts", + "UpstreamPathTemplate": "/posts", "UpstreamHttpMethod": "Post", "QoSOptions": { "ExceptionsAllowedBeforeBreaking": 3, @@ -115,7 +115,7 @@ "DownstreamScheme": "http", "DownstreamHost": "jsonplaceholder.typicode.com", "DownstreamPort": 80, - "UpstreamTemplate": "/posts/{postId}", + "UpstreamPathTemplate": "/posts/{postId}", "UpstreamHttpMethod": "Put", "QoSOptions": { "ExceptionsAllowedBeforeBreaking": 3, @@ -128,7 +128,7 @@ "DownstreamScheme": "http", "DownstreamHost": "jsonplaceholder.typicode.com", "DownstreamPort": 80, - "UpstreamTemplate": "/posts/{postId}", + "UpstreamPathTemplate": "/posts/{postId}", "UpstreamHttpMethod": "Patch", "QoSOptions": { "ExceptionsAllowedBeforeBreaking": 3, @@ -141,7 +141,7 @@ "DownstreamScheme": "http", "DownstreamHost": "jsonplaceholder.typicode.com", "DownstreamPort": 80, - "UpstreamTemplate": "/posts/{postId}", + "UpstreamPathTemplate": "/posts/{postId}", "UpstreamHttpMethod": "Delete", "QoSOptions": { "ExceptionsAllowedBeforeBreaking": 3, @@ -154,7 +154,7 @@ "DownstreamScheme": "http", "DownstreamHost": "jsonplaceholder.typicode.com", "DownstreamPort": 80, - "UpstreamTemplate": "/products", + "UpstreamPathTemplate": "/products", "UpstreamHttpMethod": "Get", "QoSOptions": { "ExceptionsAllowedBeforeBreaking": 3, @@ -168,7 +168,7 @@ "DownstreamScheme": "http", "DownstreamHost": "jsonplaceholder.typicode.com", "DownstreamPort": 80, - "UpstreamTemplate": "/products/{productId}", + "UpstreamPathTemplate": "/products/{productId}", "UpstreamHttpMethod": "Get", "FileCacheOptions": { "TtlSeconds": 15 } }, @@ -177,7 +177,7 @@ "DownstreamScheme": "http", "DownstreamHost": "products20161126090340.azurewebsites.net", "DownstreamPort": 80, - "UpstreamTemplate": "/products", + "UpstreamPathTemplate": "/products", "UpstreamHttpMethod": "Post", "QoSOptions": { "ExceptionsAllowedBeforeBreaking": 3, @@ -190,7 +190,7 @@ "DownstreamScheme": "http", "DownstreamHost": "products20161126090340.azurewebsites.net", "DownstreamPort": 80, - "UpstreamTemplate": "/products/{productId}", + "UpstreamPathTemplate": "/products/{productId}", "UpstreamHttpMethod": "Put", "QoSOptions": { "ExceptionsAllowedBeforeBreaking": 3, @@ -204,7 +204,7 @@ "DownstreamScheme": "http", "DownstreamHost": "products20161126090340.azurewebsites.net", "DownstreamPort": 80, - "UpstreamTemplate": "/products/{productId}", + "UpstreamPathTemplate": "/products/{productId}", "UpstreamHttpMethod": "Delete", "QoSOptions": { "ExceptionsAllowedBeforeBreaking": 3, @@ -218,7 +218,7 @@ "DownstreamScheme": "http", "DownstreamHost": "customers20161126090811.azurewebsites.net", "DownstreamPort": 80, - "UpstreamTemplate": "/customers", + "UpstreamPathTemplate": "/customers", "UpstreamHttpMethod": "Get", "QoSOptions": { "ExceptionsAllowedBeforeBreaking": 3, @@ -232,7 +232,7 @@ "DownstreamScheme": "http", "DownstreamHost": "customers20161126090811.azurewebsites.net", "DownstreamPort": 80, - "UpstreamTemplate": "/customers/{customerId}", + "UpstreamPathTemplate": "/customers/{customerId}", "UpstreamHttpMethod": "Get", "QoSOptions": { "ExceptionsAllowedBeforeBreaking": 3, @@ -246,7 +246,7 @@ "DownstreamScheme": "http", "DownstreamHost": "customers20161126090811.azurewebsites.net", "DownstreamPort": 80, - "UpstreamTemplate": "/customers", + "UpstreamPathTemplate": "/customers", "UpstreamHttpMethod": "Post", "QoSOptions": { "ExceptionsAllowedBeforeBreaking": 3, @@ -260,7 +260,7 @@ "DownstreamScheme": "http", "DownstreamHost": "customers20161126090811.azurewebsites.net", "DownstreamPort": 80, - "UpstreamTemplate": "/customers/{customerId}", + "UpstreamPathTemplate": "/customers/{customerId}", "UpstreamHttpMethod": "Put", "QoSOptions": { "ExceptionsAllowedBeforeBreaking": 3, @@ -274,7 +274,7 @@ "DownstreamScheme": "http", "DownstreamHost": "customers20161126090811.azurewebsites.net", "DownstreamPort": 80, - "UpstreamTemplate": "/customers/{customerId}", + "UpstreamPathTemplate": "/customers/{customerId}", "UpstreamHttpMethod": "Delete", "QoSOptions": { "ExceptionsAllowedBeforeBreaking": 3, @@ -288,7 +288,7 @@ "DownstreamScheme": "http", "DownstreamHost": "jsonplaceholder.typicode.com", "DownstreamPort": 80, - "UpstreamTemplate": "/posts/", + "UpstreamPathTemplate": "/posts/", "UpstreamHttpMethod": "Get", "QoSOptions": { "ExceptionsAllowedBeforeBreaking": 3, diff --git a/test/Ocelot.ManualTest/project.json b/test/Ocelot.ManualTest/project.json index cf67f9bd..04dba415 100644 --- a/test/Ocelot.ManualTest/project.json +++ b/test/Ocelot.ManualTest/project.json @@ -12,7 +12,9 @@ "Microsoft.Extensions.Options.ConfigurationExtensions": "1.1.0", "Ocelot": "0.0.0-dev", "Microsoft.AspNetCore.Server.Kestrel": "1.1.0", - "Microsoft.NETCore.App": "1.1.0" + "Microsoft.NETCore.App": "1.1.0", + "Consul": "0.7.2.1", + "Polly": "5.0.3" }, "tools": {