mirror of
				https://github.com/nsnail/Ocelot.git
				synced 2025-11-04 15:10:50 +08:00 
			
		
		
		
	This commit is contained in:
		@@ -78,7 +78,7 @@ namespace Ocelot.Configuration.Builder
 | 
				
			|||||||
            return this;
 | 
					            return this;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public DownstreamReRouteBuilder WithUpstreamTemplatePattern(UpstreamPathTemplate input)
 | 
					        public DownstreamReRouteBuilder WithUpstreamPathTemplate(UpstreamPathTemplate input)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            _upstreamTemplatePattern = input;
 | 
					            _upstreamTemplatePattern = input;
 | 
				
			||||||
            return this;
 | 
					            return this;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -36,7 +36,7 @@
 | 
				
			|||||||
            return this;
 | 
					            return this;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public ReRouteBuilder WithUpstreamTemplatePattern(UpstreamPathTemplate input)
 | 
					        public ReRouteBuilder WithUpstreamPathTemplate(UpstreamPathTemplate input)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            _upstreamTemplatePattern = input;
 | 
					            _upstreamTemplatePattern = input;
 | 
				
			||||||
            return this;
 | 
					            return this;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -167,7 +167,7 @@ namespace Ocelot.Configuration.Creator
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            var reRoute = new ReRouteBuilder()
 | 
					            var reRoute = new ReRouteBuilder()
 | 
				
			||||||
                .WithUpstreamHttpMethod(aggregateReRoute.UpstreamHttpMethod)
 | 
					                .WithUpstreamHttpMethod(aggregateReRoute.UpstreamHttpMethod)
 | 
				
			||||||
                .WithUpstreamTemplatePattern(upstreamTemplatePattern)
 | 
					                .WithUpstreamPathTemplate(upstreamTemplatePattern)
 | 
				
			||||||
                .WithDownstreamReRoutes(applicableReRoutes)
 | 
					                .WithDownstreamReRoutes(applicableReRoutes)
 | 
				
			||||||
                .WithUpstreamHost(aggregateReRoute.UpstreamHost)
 | 
					                .WithUpstreamHost(aggregateReRoute.UpstreamHost)
 | 
				
			||||||
                .WithAggregator(aggregateReRoute.Aggregator)
 | 
					                .WithAggregator(aggregateReRoute.Aggregator)
 | 
				
			||||||
@@ -182,7 +182,7 @@ namespace Ocelot.Configuration.Creator
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            var reRoute = new ReRouteBuilder()
 | 
					            var reRoute = new ReRouteBuilder()
 | 
				
			||||||
                .WithUpstreamHttpMethod(fileReRoute.UpstreamHttpMethod)
 | 
					                .WithUpstreamHttpMethod(fileReRoute.UpstreamHttpMethod)
 | 
				
			||||||
                .WithUpstreamTemplatePattern(upstreamTemplatePattern)
 | 
					                .WithUpstreamPathTemplate(upstreamTemplatePattern)
 | 
				
			||||||
                .WithDownstreamReRoute(downstreamReRoutes)
 | 
					                .WithDownstreamReRoute(downstreamReRoutes)
 | 
				
			||||||
                .WithUpstreamHost(fileReRoute.UpstreamHost)
 | 
					                .WithUpstreamHost(fileReRoute.UpstreamHost)
 | 
				
			||||||
                .Build();
 | 
					                .Build();
 | 
				
			||||||
@@ -228,7 +228,7 @@ namespace Ocelot.Configuration.Creator
 | 
				
			|||||||
                .WithKey(fileReRoute.Key)
 | 
					                .WithKey(fileReRoute.Key)
 | 
				
			||||||
                .WithDownstreamPathTemplate(fileReRoute.DownstreamPathTemplate)
 | 
					                .WithDownstreamPathTemplate(fileReRoute.DownstreamPathTemplate)
 | 
				
			||||||
                .WithUpstreamHttpMethod(fileReRoute.UpstreamHttpMethod)
 | 
					                .WithUpstreamHttpMethod(fileReRoute.UpstreamHttpMethod)
 | 
				
			||||||
                .WithUpstreamTemplatePattern(upstreamTemplatePattern)
 | 
					                .WithUpstreamPathTemplate(upstreamTemplatePattern)
 | 
				
			||||||
                .WithIsAuthenticated(fileReRouteOptions.IsAuthenticated)
 | 
					                .WithIsAuthenticated(fileReRouteOptions.IsAuthenticated)
 | 
				
			||||||
                .WithAuthenticationOptions(authOptionsForRoute)
 | 
					                .WithAuthenticationOptions(authOptionsForRoute)
 | 
				
			||||||
                .WithClaimsToHeaders(claimsToHeaders)
 | 
					                .WithClaimsToHeaders(claimsToHeaders)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -44,6 +44,8 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            var qosOptions = _qoSOptionsCreator.Create(configuration.QoSOptions, downstreamPathForKeys, new []{ upstreamHttpMethod });
 | 
					            var qosOptions = _qoSOptionsCreator.Create(configuration.QoSOptions, downstreamPathForKeys, new []{ upstreamHttpMethod });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            var upstreamPathTemplate = new UpstreamPathTemplateBuilder().WithOriginalValue(upstreamUrlPath).Build();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            var downstreamReRouteBuilder = new DownstreamReRouteBuilder()
 | 
					            var downstreamReRouteBuilder = new DownstreamReRouteBuilder()
 | 
				
			||||||
                .WithServiceName(serviceName)
 | 
					                .WithServiceName(serviceName)
 | 
				
			||||||
                .WithLoadBalancerKey(loadBalancerKey)
 | 
					                .WithLoadBalancerKey(loadBalancerKey)
 | 
				
			||||||
@@ -52,7 +54,8 @@
 | 
				
			|||||||
                .WithHttpHandlerOptions(configuration.HttpHandlerOptions)
 | 
					                .WithHttpHandlerOptions(configuration.HttpHandlerOptions)
 | 
				
			||||||
                .WithQosOptions(qosOptions)
 | 
					                .WithQosOptions(qosOptions)
 | 
				
			||||||
                .WithDownstreamScheme(configuration.DownstreamScheme)
 | 
					                .WithDownstreamScheme(configuration.DownstreamScheme)
 | 
				
			||||||
                .WithLoadBalancerOptions(configuration.LoadBalancerOptions);
 | 
					                .WithLoadBalancerOptions(configuration.LoadBalancerOptions)
 | 
				
			||||||
 | 
					                .WithUpstreamPathTemplate(upstreamPathTemplate);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                var rateLimitOptions = configuration.ReRoutes != null 
 | 
					                var rateLimitOptions = configuration.ReRoutes != null 
 | 
				
			||||||
                    ? configuration.ReRoutes
 | 
					                    ? configuration.ReRoutes
 | 
				
			||||||
@@ -72,6 +75,7 @@
 | 
				
			|||||||
            var reRoute = new ReRouteBuilder()
 | 
					            var reRoute = new ReRouteBuilder()
 | 
				
			||||||
                .WithDownstreamReRoute(downstreamReRoute)
 | 
					                .WithDownstreamReRoute(downstreamReRoute)
 | 
				
			||||||
                .WithUpstreamHttpMethod(new List<string>(){ upstreamHttpMethod })
 | 
					                .WithUpstreamHttpMethod(new List<string>(){ upstreamHttpMethod })
 | 
				
			||||||
 | 
					                .WithUpstreamPathTemplate(upstreamPathTemplate)
 | 
				
			||||||
                .Build();
 | 
					                .Build();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            downstreamRoute = new OkResponse<DownstreamRoute>(new DownstreamRoute(new List<PlaceholderNameAndValue>(), reRoute));
 | 
					            downstreamRoute = new OkResponse<DownstreamRoute>(new DownstreamRoute(new List<PlaceholderNameAndValue>(), reRoute));
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -45,7 +45,7 @@ namespace Ocelot.UnitTests.Authorization
 | 
				
			|||||||
        {
 | 
					        {
 | 
				
			||||||
            this.Given(x => x.GivenTheDownStreamRouteIs(new List<PlaceholderNameAndValue>(), 
 | 
					            this.Given(x => x.GivenTheDownStreamRouteIs(new List<PlaceholderNameAndValue>(), 
 | 
				
			||||||
                new DownstreamReRouteBuilder()
 | 
					                new DownstreamReRouteBuilder()
 | 
				
			||||||
                    .WithUpstreamTemplatePattern(new UpstreamPathTemplateBuilder().Build())
 | 
					                    .WithUpstreamPathTemplate(new UpstreamPathTemplateBuilder().Build())
 | 
				
			||||||
                    .WithIsAuthorised(true)
 | 
					                    .WithIsAuthorised(true)
 | 
				
			||||||
                    .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                    .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                    .Build()))
 | 
					                    .Build()))
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -82,7 +82,7 @@
 | 
				
			|||||||
                .Build();
 | 
					                .Build();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            var downstreamReRoute = new DownstreamReRouteBuilder()
 | 
					            var downstreamReRoute = new DownstreamReRouteBuilder()
 | 
				
			||||||
                .WithUpstreamTemplatePattern(new UpstreamPathTemplateBuilder().WithTemplate("woop").WithOriginalValue("/api/products/{productId}").Build())
 | 
					                .WithUpstreamPathTemplate(new UpstreamPathTemplateBuilder().WithTemplate("woop").WithOriginalValue("/api/products/{productId}").Build())
 | 
				
			||||||
                .WithDownstreamAddresses(new List<DownstreamHostAndPort>() { new DownstreamHostAndPort("127.0.0.1", 80) })
 | 
					                .WithDownstreamAddresses(new List<DownstreamHostAndPort>() { new DownstreamHostAndPort("127.0.0.1", 80) })
 | 
				
			||||||
                .WithDownstreamPathTemplate("/products/{productId}")
 | 
					                .WithDownstreamPathTemplate("/products/{productId}")
 | 
				
			||||||
                .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
@@ -124,7 +124,7 @@
 | 
				
			|||||||
                            {
 | 
					                            {
 | 
				
			||||||
                                new ReRouteBuilder()
 | 
					                                new ReRouteBuilder()
 | 
				
			||||||
                                    .WithDownstreamReRoute(downstreamReRoute)
 | 
					                                    .WithDownstreamReRoute(downstreamReRoute)
 | 
				
			||||||
                                    .WithUpstreamTemplatePattern(new UpstreamPathTemplateBuilder().WithTemplate("woop").WithOriginalValue("/api/products/{productId}").Build())
 | 
					                                    .WithUpstreamPathTemplate(new UpstreamPathTemplateBuilder().WithTemplate("woop").WithOriginalValue("/api/products/{productId}").Build())
 | 
				
			||||||
                                    .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                                    .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                                    .Build()
 | 
					                                    .Build()
 | 
				
			||||||
                            }))
 | 
					                            }))
 | 
				
			||||||
@@ -206,7 +206,7 @@
 | 
				
			|||||||
            var lauraReRoute = new ReRouteBuilder()
 | 
					            var lauraReRoute = new ReRouteBuilder()
 | 
				
			||||||
                .WithUpstreamHttpMethod(new List<string>() { "Get" })
 | 
					                .WithUpstreamHttpMethod(new List<string>() { "Get" })
 | 
				
			||||||
                .WithUpstreamHost("localhost")
 | 
					                .WithUpstreamHost("localhost")
 | 
				
			||||||
                .WithUpstreamTemplatePattern(new UpstreamPathTemplateBuilder().WithTemplate("woop").WithOriginalValue("/laura").Build())
 | 
					                .WithUpstreamPathTemplate(new UpstreamPathTemplateBuilder().WithTemplate("woop").WithOriginalValue("/laura").Build())
 | 
				
			||||||
                .WithDownstreamReRoute(lauraDownstreamReRoute)
 | 
					                .WithDownstreamReRoute(lauraDownstreamReRoute)
 | 
				
			||||||
                .Build();
 | 
					                .Build();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -225,14 +225,14 @@
 | 
				
			|||||||
            var tomReRoute = new ReRouteBuilder()
 | 
					            var tomReRoute = new ReRouteBuilder()
 | 
				
			||||||
                .WithUpstreamHttpMethod(new List<string>() { "Get" })
 | 
					                .WithUpstreamHttpMethod(new List<string>() { "Get" })
 | 
				
			||||||
                .WithUpstreamHost("localhost")
 | 
					                .WithUpstreamHost("localhost")
 | 
				
			||||||
                .WithUpstreamTemplatePattern(new UpstreamPathTemplateBuilder().WithTemplate("woop").WithOriginalValue("/tom").Build())
 | 
					                .WithUpstreamPathTemplate(new UpstreamPathTemplateBuilder().WithTemplate("woop").WithOriginalValue("/tom").Build())
 | 
				
			||||||
                .WithDownstreamReRoute(tomDownstreamReRoute)
 | 
					                .WithDownstreamReRoute(tomDownstreamReRoute)
 | 
				
			||||||
                .Build();
 | 
					                .Build();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            expected.Add(tomReRoute);
 | 
					            expected.Add(tomReRoute);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            var aggregateReReRoute = new ReRouteBuilder()
 | 
					            var aggregateReReRoute = new ReRouteBuilder()
 | 
				
			||||||
                .WithUpstreamTemplatePattern(new UpstreamPathTemplateBuilder().WithTemplate("woop").WithOriginalValue("/").Build())
 | 
					                .WithUpstreamPathTemplate(new UpstreamPathTemplateBuilder().WithTemplate("woop").WithOriginalValue("/").Build())
 | 
				
			||||||
                .WithUpstreamHost("localhost")
 | 
					                .WithUpstreamHost("localhost")
 | 
				
			||||||
                .WithDownstreamReRoute(lauraDownstreamReRoute)
 | 
					                .WithDownstreamReRoute(lauraDownstreamReRoute)
 | 
				
			||||||
                .WithDownstreamReRoute(tomDownstreamReRoute)
 | 
					                .WithDownstreamReRoute(tomDownstreamReRoute)
 | 
				
			||||||
@@ -417,7 +417,7 @@
 | 
				
			|||||||
                .Build();
 | 
					                .Build();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            var downstreamReRoute = new DownstreamReRouteBuilder()
 | 
					            var downstreamReRoute = new DownstreamReRouteBuilder()
 | 
				
			||||||
                .WithUpstreamTemplatePattern(new UpstreamPathTemplateBuilder().WithTemplate("woop").WithOriginalValue("/api/products/{productId}").Build())
 | 
					                .WithUpstreamPathTemplate(new UpstreamPathTemplateBuilder().WithTemplate("woop").WithOriginalValue("/api/products/{productId}").Build())
 | 
				
			||||||
                .WithDownstreamAddresses(new List<DownstreamHostAndPort>() {new DownstreamHostAndPort("127.0.0.1", 80)})
 | 
					                .WithDownstreamAddresses(new List<DownstreamHostAndPort>() {new DownstreamHostAndPort("127.0.0.1", 80)})
 | 
				
			||||||
                .WithDownstreamPathTemplate("/products/{productId}")
 | 
					                .WithDownstreamPathTemplate("/products/{productId}")
 | 
				
			||||||
                .WithUpstreamHttpMethod(new List<string> {"Get"})
 | 
					                .WithUpstreamHttpMethod(new List<string> {"Get"})
 | 
				
			||||||
@@ -453,7 +453,7 @@
 | 
				
			|||||||
                            {
 | 
					                            {
 | 
				
			||||||
                                new ReRouteBuilder()
 | 
					                                new ReRouteBuilder()
 | 
				
			||||||
                                    .WithDownstreamReRoute(downstreamReRoute)
 | 
					                                    .WithDownstreamReRoute(downstreamReRoute)
 | 
				
			||||||
                                    .WithUpstreamTemplatePattern(new UpstreamPathTemplateBuilder().WithTemplate("woop").WithOriginalValue("/api/products/{productId}").Build())
 | 
					                                    .WithUpstreamPathTemplate(new UpstreamPathTemplateBuilder().WithTemplate("woop").WithOriginalValue("/api/products/{productId}").Build())
 | 
				
			||||||
                                    .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                                    .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                                    .Build()
 | 
					                                    .Build()
 | 
				
			||||||
                            }))
 | 
					                            }))
 | 
				
			||||||
@@ -471,7 +471,7 @@
 | 
				
			|||||||
            var downstreamReRoute = new DownstreamReRouteBuilder()
 | 
					            var downstreamReRoute = new DownstreamReRouteBuilder()
 | 
				
			||||||
                .WithDownstreamScheme("https")
 | 
					                .WithDownstreamScheme("https")
 | 
				
			||||||
                .WithDownstreamPathTemplate("/products/{productId}")
 | 
					                .WithDownstreamPathTemplate("/products/{productId}")
 | 
				
			||||||
                .WithUpstreamTemplatePattern(new UpstreamPathTemplateBuilder().WithTemplate("woop").WithOriginalValue("/api/products/{productId}").Build())
 | 
					                .WithUpstreamPathTemplate(new UpstreamPathTemplateBuilder().WithTemplate("woop").WithOriginalValue("/api/products/{productId}").Build())
 | 
				
			||||||
                .WithUpstreamHttpMethod(new List<string> {"Get"})
 | 
					                .WithUpstreamHttpMethod(new List<string> {"Get"})
 | 
				
			||||||
                .WithDelegatingHandlers(handlers)
 | 
					                .WithDelegatingHandlers(handlers)
 | 
				
			||||||
                .WithLoadBalancerKey("/api/products/{productId}|Get|")
 | 
					                .WithLoadBalancerKey("/api/products/{productId}|Get|")
 | 
				
			||||||
@@ -501,7 +501,7 @@
 | 
				
			|||||||
                                            {
 | 
					                                            {
 | 
				
			||||||
                                                new ReRouteBuilder()
 | 
					                                                new ReRouteBuilder()
 | 
				
			||||||
                                                    .WithDownstreamReRoute(downstreamReRoute)
 | 
					                                                    .WithDownstreamReRoute(downstreamReRoute)
 | 
				
			||||||
                                                    .WithUpstreamTemplatePattern(new UpstreamPathTemplateBuilder().WithTemplate("woop").WithOriginalValue("/api/products/{productId}").Build())
 | 
					                                                    .WithUpstreamPathTemplate(new UpstreamPathTemplateBuilder().WithTemplate("woop").WithOriginalValue("/api/products/{productId}").Build())
 | 
				
			||||||
                                                    .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                                                    .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                                                    .Build()
 | 
					                                                    .Build()
 | 
				
			||||||
                                            }))
 | 
					                                            }))
 | 
				
			||||||
@@ -516,7 +516,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            var downstreamReRoute = new DownstreamReRouteBuilder()
 | 
					            var downstreamReRoute = new DownstreamReRouteBuilder()
 | 
				
			||||||
                .WithDownstreamPathTemplate("/products/{productId}")
 | 
					                .WithDownstreamPathTemplate("/products/{productId}")
 | 
				
			||||||
                .WithUpstreamTemplatePattern(new UpstreamPathTemplateBuilder().WithTemplate("woop").WithOriginalValue("/api/products/{productId}").Build())
 | 
					                .WithUpstreamPathTemplate(new UpstreamPathTemplateBuilder().WithTemplate("woop").WithOriginalValue("/api/products/{productId}").Build())
 | 
				
			||||||
                .WithUpstreamHttpMethod(new List<string> {"Get"})
 | 
					                .WithUpstreamHttpMethod(new List<string> {"Get"})
 | 
				
			||||||
                .WithUseServiceDiscovery(true)
 | 
					                .WithUseServiceDiscovery(true)
 | 
				
			||||||
                .WithServiceName("ProductService")
 | 
					                .WithServiceName("ProductService")
 | 
				
			||||||
@@ -554,7 +554,7 @@
 | 
				
			|||||||
                            {
 | 
					                            {
 | 
				
			||||||
                                new ReRouteBuilder()
 | 
					                                new ReRouteBuilder()
 | 
				
			||||||
                                    .WithDownstreamReRoute(downstreamReRoute)
 | 
					                                    .WithDownstreamReRoute(downstreamReRoute)
 | 
				
			||||||
                                    .WithUpstreamTemplatePattern(new UpstreamPathTemplateBuilder().WithTemplate("woop").WithOriginalValue("/api/products/{productId}").Build())
 | 
					                                    .WithUpstreamPathTemplate(new UpstreamPathTemplateBuilder().WithTemplate("woop").WithOriginalValue("/api/products/{productId}").Build())
 | 
				
			||||||
                                    .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                                    .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                                    .Build()
 | 
					                                    .Build()
 | 
				
			||||||
                            }))
 | 
					                            }))
 | 
				
			||||||
@@ -569,7 +569,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            var downstreamReRoute = new DownstreamReRouteBuilder()
 | 
					            var downstreamReRoute = new DownstreamReRouteBuilder()
 | 
				
			||||||
                .WithDownstreamPathTemplate("/products/{productId}")
 | 
					                .WithDownstreamPathTemplate("/products/{productId}")
 | 
				
			||||||
                .WithUpstreamTemplatePattern(new UpstreamPathTemplateBuilder().WithTemplate("woop").WithOriginalValue("/api/products/{productId}").Build())
 | 
					                .WithUpstreamPathTemplate(new UpstreamPathTemplateBuilder().WithTemplate("woop").WithOriginalValue("/api/products/{productId}").Build())
 | 
				
			||||||
                .WithUpstreamHttpMethod(new List<string> {"Get"})
 | 
					                .WithUpstreamHttpMethod(new List<string> {"Get"})
 | 
				
			||||||
                .WithUseServiceDiscovery(false)
 | 
					                .WithUseServiceDiscovery(false)
 | 
				
			||||||
                .WithLoadBalancerKey("/api/products/{productId}|Get|")
 | 
					                .WithLoadBalancerKey("/api/products/{productId}|Get|")
 | 
				
			||||||
@@ -598,7 +598,7 @@
 | 
				
			|||||||
                            {
 | 
					                            {
 | 
				
			||||||
                                new ReRouteBuilder()
 | 
					                                new ReRouteBuilder()
 | 
				
			||||||
                                    .WithDownstreamReRoute(downstreamReRoute)
 | 
					                                    .WithDownstreamReRoute(downstreamReRoute)
 | 
				
			||||||
                                    .WithUpstreamTemplatePattern(new UpstreamPathTemplateBuilder().WithTemplate("woop").WithOriginalValue("/api/products/{productId}").Build())
 | 
					                                    .WithUpstreamPathTemplate(new UpstreamPathTemplateBuilder().WithTemplate("woop").WithOriginalValue("/api/products/{productId}").Build())
 | 
				
			||||||
                                    .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                                    .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                                    .Build()
 | 
					                                    .Build()
 | 
				
			||||||
                            }))
 | 
					                            }))
 | 
				
			||||||
@@ -613,9 +613,9 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            var downstreamReRoute = new DownstreamReRouteBuilder()
 | 
					            var downstreamReRoute = new DownstreamReRouteBuilder()
 | 
				
			||||||
                .WithDownstreamPathTemplate("/products/{productId}")
 | 
					                .WithDownstreamPathTemplate("/products/{productId}")
 | 
				
			||||||
                .WithUpstreamTemplatePattern(new UpstreamPathTemplateBuilder().WithOriginalValue("/api/products/{productId}").Build())
 | 
					                .WithUpstreamPathTemplate(new UpstreamPathTemplateBuilder().WithOriginalValue("/api/products/{productId}").Build())
 | 
				
			||||||
                .WithUpstreamHttpMethod(new List<string> {"Get"})
 | 
					                .WithUpstreamHttpMethod(new List<string> {"Get"})
 | 
				
			||||||
                .WithUpstreamTemplatePattern(new UpstreamPathTemplate("(?i)/api/products/.*/$", 1, false, "/api/products/{productId}"))
 | 
					                .WithUpstreamPathTemplate(new UpstreamPathTemplate("(?i)/api/products/.*/$", 1, false, "/api/products/{productId}"))
 | 
				
			||||||
                .WithLoadBalancerKey("/api/products/{productId}|Get|")
 | 
					                .WithLoadBalancerKey("/api/products/{productId}|Get|")
 | 
				
			||||||
                .Build();
 | 
					                .Build();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -642,9 +642,9 @@
 | 
				
			|||||||
                {
 | 
					                {
 | 
				
			||||||
                    new ReRouteBuilder()
 | 
					                    new ReRouteBuilder()
 | 
				
			||||||
                        .WithDownstreamReRoute(downstreamReRoute)
 | 
					                        .WithDownstreamReRoute(downstreamReRoute)
 | 
				
			||||||
                        .WithUpstreamTemplatePattern(new UpstreamPathTemplateBuilder().WithOriginalValue("/api/products/{productId}").Build())
 | 
					                        .WithUpstreamPathTemplate(new UpstreamPathTemplateBuilder().WithOriginalValue("/api/products/{productId}").Build())
 | 
				
			||||||
                        .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                        .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                        .WithUpstreamTemplatePattern(new UpstreamPathTemplate("(?i)/api/products/.*/$", 1, false, "/api/products/{productId}"))
 | 
					                        .WithUpstreamPathTemplate(new UpstreamPathTemplate("(?i)/api/products/.*/$", 1, false, "/api/products/{productId}"))
 | 
				
			||||||
                        .Build()
 | 
					                        .Build()
 | 
				
			||||||
                }))
 | 
					                }))
 | 
				
			||||||
                .BDDfy();
 | 
					                .BDDfy();
 | 
				
			||||||
@@ -658,7 +658,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            var downstreamReRoute = new DownstreamReRouteBuilder()
 | 
					            var downstreamReRoute = new DownstreamReRouteBuilder()
 | 
				
			||||||
                .WithDownstreamPathTemplate("/products/{productId}")
 | 
					                .WithDownstreamPathTemplate("/products/{productId}")
 | 
				
			||||||
                .WithUpstreamTemplatePattern(new UpstreamPathTemplateBuilder().WithTemplate("woop").WithOriginalValue("/api/products/{productId}").Build())
 | 
					                .WithUpstreamPathTemplate(new UpstreamPathTemplateBuilder().WithTemplate("woop").WithOriginalValue("/api/products/{productId}").Build())
 | 
				
			||||||
                .WithUpstreamHttpMethod(new List<string> {"Get"})
 | 
					                .WithUpstreamHttpMethod(new List<string> {"Get"})
 | 
				
			||||||
                .WithRequestIdKey("blahhhh")
 | 
					                .WithRequestIdKey("blahhhh")
 | 
				
			||||||
                .WithLoadBalancerKey("/api/products/{productId}|Get|")
 | 
					                .WithLoadBalancerKey("/api/products/{productId}|Get|")
 | 
				
			||||||
@@ -692,7 +692,7 @@
 | 
				
			|||||||
                {
 | 
					                {
 | 
				
			||||||
                    new ReRouteBuilder()
 | 
					                    new ReRouteBuilder()
 | 
				
			||||||
                        .WithDownstreamReRoute(downstreamReRoute)
 | 
					                        .WithDownstreamReRoute(downstreamReRoute)
 | 
				
			||||||
                        .WithUpstreamTemplatePattern(new UpstreamPathTemplateBuilder().WithTemplate("woop").WithOriginalValue("/api/products/{productId}").Build())
 | 
					                        .WithUpstreamPathTemplate(new UpstreamPathTemplateBuilder().WithTemplate("woop").WithOriginalValue("/api/products/{productId}").Build())
 | 
				
			||||||
                        .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                        .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                        .Build()
 | 
					                        .Build()
 | 
				
			||||||
                }))
 | 
					                }))
 | 
				
			||||||
@@ -750,7 +750,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            var downstreamReRoute = new DownstreamReRouteBuilder()
 | 
					            var downstreamReRoute = new DownstreamReRouteBuilder()
 | 
				
			||||||
                .WithDownstreamPathTemplate("/products/{productId}")
 | 
					                .WithDownstreamPathTemplate("/products/{productId}")
 | 
				
			||||||
                .WithUpstreamTemplatePattern(new UpstreamPathTemplateBuilder().WithTemplate("woop").WithOriginalValue("/api/products/{productId}").Build())
 | 
					                .WithUpstreamPathTemplate(new UpstreamPathTemplateBuilder().WithTemplate("woop").WithOriginalValue("/api/products/{productId}").Build())
 | 
				
			||||||
                .WithUpstreamHttpMethod(new List<string> {"Get"})
 | 
					                .WithUpstreamHttpMethod(new List<string> {"Get"})
 | 
				
			||||||
                .WithAuthenticationOptions(authenticationOptions)
 | 
					                .WithAuthenticationOptions(authenticationOptions)
 | 
				
			||||||
                .WithClaimsToHeaders(new List<ClaimToThing>
 | 
					                .WithClaimsToHeaders(new List<ClaimToThing>
 | 
				
			||||||
@@ -764,7 +764,7 @@
 | 
				
			|||||||
            {
 | 
					            {
 | 
				
			||||||
                new ReRouteBuilder()
 | 
					                new ReRouteBuilder()
 | 
				
			||||||
                    .WithDownstreamReRoute(downstreamReRoute)
 | 
					                    .WithDownstreamReRoute(downstreamReRoute)
 | 
				
			||||||
                    .WithUpstreamTemplatePattern(new UpstreamPathTemplateBuilder().WithTemplate("woop").WithOriginalValue("/api/products/{productId}").Build())
 | 
					                    .WithUpstreamPathTemplate(new UpstreamPathTemplateBuilder().WithTemplate("woop").WithOriginalValue("/api/products/{productId}").Build())
 | 
				
			||||||
                    .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                    .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                    .Build()
 | 
					                    .Build()
 | 
				
			||||||
            };
 | 
					            };
 | 
				
			||||||
@@ -798,7 +798,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            var downstreamReRoute = new DownstreamReRouteBuilder()
 | 
					            var downstreamReRoute = new DownstreamReRouteBuilder()
 | 
				
			||||||
                .WithDownstreamPathTemplate("/products/{productId}")
 | 
					                .WithDownstreamPathTemplate("/products/{productId}")
 | 
				
			||||||
                .WithUpstreamTemplatePattern(new UpstreamPathTemplateBuilder().WithTemplate("woop").WithOriginalValue("/api/products/{productId}").Build())
 | 
					                .WithUpstreamPathTemplate(new UpstreamPathTemplateBuilder().WithTemplate("woop").WithOriginalValue("/api/products/{productId}").Build())
 | 
				
			||||||
                .WithUpstreamHttpMethod(new List<string> {"Get"})
 | 
					                .WithUpstreamHttpMethod(new List<string> {"Get"})
 | 
				
			||||||
                .WithAuthenticationOptions(authenticationOptions)
 | 
					                .WithAuthenticationOptions(authenticationOptions)
 | 
				
			||||||
                .WithLoadBalancerKey("/api/products/{productId}|Get|")
 | 
					                .WithLoadBalancerKey("/api/products/{productId}|Get|")
 | 
				
			||||||
@@ -808,7 +808,7 @@
 | 
				
			|||||||
            {
 | 
					            {
 | 
				
			||||||
                new ReRouteBuilder()
 | 
					                new ReRouteBuilder()
 | 
				
			||||||
                    .WithDownstreamReRoute(downstreamReRoute)
 | 
					                    .WithDownstreamReRoute(downstreamReRoute)
 | 
				
			||||||
                    .WithUpstreamTemplatePattern(new UpstreamPathTemplateBuilder().WithTemplate("woop").WithOriginalValue("/api/products/{productId}").Build())
 | 
					                    .WithUpstreamPathTemplate(new UpstreamPathTemplateBuilder().WithTemplate("woop").WithOriginalValue("/api/products/{productId}").Build())
 | 
				
			||||||
                    .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                    .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                    .Build()
 | 
					                    .Build()
 | 
				
			||||||
            };
 | 
					            };
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -222,6 +222,9 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
 | 
				
			|||||||
            _result.Data.ReRoute.DownstreamReRoute[0].LoadBalancerOptions.Type.ShouldBe(nameof(NoLoadBalancer));
 | 
					            _result.Data.ReRoute.DownstreamReRoute[0].LoadBalancerOptions.Type.ShouldBe(nameof(NoLoadBalancer));
 | 
				
			||||||
            _result.Data.ReRoute.DownstreamReRoute[0].HttpHandlerOptions.ShouldBe(_handlerOptions);
 | 
					            _result.Data.ReRoute.DownstreamReRoute[0].HttpHandlerOptions.ShouldBe(_handlerOptions);
 | 
				
			||||||
            _result.Data.ReRoute.DownstreamReRoute[0].QosOptions.ShouldBe(_qoSOptions);
 | 
					            _result.Data.ReRoute.DownstreamReRoute[0].QosOptions.ShouldBe(_qoSOptions);
 | 
				
			||||||
 | 
					            _result.Data.ReRoute.UpstreamTemplatePattern.ShouldNotBeNull();
 | 
				
			||||||
 | 
					            _result.Data.ReRoute.DownstreamReRoute[0].UpstreamPathTemplate.ShouldNotBeNull();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private void ThenTheDownstreamPathIsForwardSlash()
 | 
					        private void ThenTheDownstreamPathIsForwardSlash()
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -48,19 +48,19 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
 | 
				
			|||||||
                        .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
					                        .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
				
			||||||
                            .WithDownstreamPathTemplate("someDownstreamPath")
 | 
					                            .WithDownstreamPathTemplate("someDownstreamPath")
 | 
				
			||||||
                            .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
					                            .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
				
			||||||
                            .WithUpstreamTemplatePattern(new UpstreamPathTemplate("test", 1, false, "someUpstreamPath"))
 | 
					                            .WithUpstreamPathTemplate(new UpstreamPathTemplate("test", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                            .Build())
 | 
					                            .Build())
 | 
				
			||||||
                        .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
					                        .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
				
			||||||
                        .WithUpstreamTemplatePattern(new UpstreamPathTemplate("test", 1, false, "someUpstreamPath"))
 | 
					                        .WithUpstreamPathTemplate(new UpstreamPathTemplate("test", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                        .Build(),
 | 
					                        .Build(),
 | 
				
			||||||
                    new ReRouteBuilder()
 | 
					                    new ReRouteBuilder()
 | 
				
			||||||
                        .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
					                        .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
				
			||||||
                            .WithDownstreamPathTemplate("someDownstreamPath")
 | 
					                            .WithDownstreamPathTemplate("someDownstreamPath")
 | 
				
			||||||
                            .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
					                            .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
				
			||||||
                            .WithUpstreamTemplatePattern(new UpstreamPathTemplate("test", 0, false, "someUpstreamPath"))
 | 
					                            .WithUpstreamPathTemplate(new UpstreamPathTemplate("test", 0, false, "someUpstreamPath"))
 | 
				
			||||||
                            .Build())
 | 
					                            .Build())
 | 
				
			||||||
                        .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
					                        .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
				
			||||||
                        .WithUpstreamTemplatePattern(new UpstreamPathTemplate("test", 0, false, "someUpstreamPath"))
 | 
					                        .WithUpstreamPathTemplate(new UpstreamPathTemplate("test", 0, false, "someUpstreamPath"))
 | 
				
			||||||
                        .Build()
 | 
					                        .Build()
 | 
				
			||||||
                }, string.Empty, serviceProviderConfig))
 | 
					                }, string.Empty, serviceProviderConfig))
 | 
				
			||||||
                .And(x => x.GivenTheUrlMatcherReturns(new OkResponse<UrlMatch>(new UrlMatch(true))))
 | 
					                .And(x => x.GivenTheUrlMatcherReturns(new OkResponse<UrlMatch>(new UrlMatch(true))))
 | 
				
			||||||
@@ -70,10 +70,10 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
 | 
				
			|||||||
                        new ReRouteBuilder()
 | 
					                        new ReRouteBuilder()
 | 
				
			||||||
                            .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
					                            .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
				
			||||||
                                .WithDownstreamPathTemplate("someDownstreamPath")
 | 
					                                .WithDownstreamPathTemplate("someDownstreamPath")
 | 
				
			||||||
                                .WithUpstreamTemplatePattern(new UpstreamPathTemplate("test", 1, false, "someUpstreamPath"))
 | 
					                                .WithUpstreamPathTemplate(new UpstreamPathTemplate("test", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                                .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
					                                .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
				
			||||||
                                .Build())
 | 
					                                .Build())
 | 
				
			||||||
                            .WithUpstreamTemplatePattern(new UpstreamPathTemplate("test", 1, false, "someUpstreamPath"))
 | 
					                            .WithUpstreamPathTemplate(new UpstreamPathTemplate("test", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                            .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
					                            .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
				
			||||||
                            .Build()
 | 
					                            .Build()
 | 
				
			||||||
                        )))
 | 
					                        )))
 | 
				
			||||||
@@ -94,19 +94,19 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
 | 
				
			|||||||
                        .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
					                        .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
				
			||||||
                            .WithDownstreamPathTemplate("someDownstreamPath")
 | 
					                            .WithDownstreamPathTemplate("someDownstreamPath")
 | 
				
			||||||
                            .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
					                            .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
				
			||||||
                            .WithUpstreamTemplatePattern(new UpstreamPathTemplate("test", 0, false, "someUpstreamPath"))
 | 
					                            .WithUpstreamPathTemplate(new UpstreamPathTemplate("test", 0, false, "someUpstreamPath"))
 | 
				
			||||||
                            .Build())
 | 
					                            .Build())
 | 
				
			||||||
                        .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
					                        .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
				
			||||||
                        .WithUpstreamTemplatePattern(new UpstreamPathTemplate("test", 0, false, "someUpstreamPath"))
 | 
					                        .WithUpstreamPathTemplate(new UpstreamPathTemplate("test", 0, false, "someUpstreamPath"))
 | 
				
			||||||
                        .Build(),
 | 
					                        .Build(),
 | 
				
			||||||
                    new ReRouteBuilder()
 | 
					                    new ReRouteBuilder()
 | 
				
			||||||
                        .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
					                        .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
				
			||||||
                            .WithDownstreamPathTemplate("someDownstreamPath")
 | 
					                            .WithDownstreamPathTemplate("someDownstreamPath")
 | 
				
			||||||
                            .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
					                            .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
				
			||||||
                            .WithUpstreamTemplatePattern(new UpstreamPathTemplate("test", 1, false, "someUpstreamPath"))
 | 
					                            .WithUpstreamPathTemplate(new UpstreamPathTemplate("test", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                            .Build())
 | 
					                            .Build())
 | 
				
			||||||
                        .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
					                        .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
				
			||||||
                        .WithUpstreamTemplatePattern(new UpstreamPathTemplate("test", 1, false, "someUpstreamPath"))
 | 
					                        .WithUpstreamPathTemplate(new UpstreamPathTemplate("test", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                        .Build()
 | 
					                        .Build()
 | 
				
			||||||
                }, string.Empty, serviceProviderConfig))
 | 
					                }, string.Empty, serviceProviderConfig))
 | 
				
			||||||
                .And(x => x.GivenTheUrlMatcherReturns(new OkResponse<UrlMatch>(new UrlMatch(true))))
 | 
					                .And(x => x.GivenTheUrlMatcherReturns(new OkResponse<UrlMatch>(new UrlMatch(true))))
 | 
				
			||||||
@@ -116,10 +116,10 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
 | 
				
			|||||||
                        new ReRouteBuilder()
 | 
					                        new ReRouteBuilder()
 | 
				
			||||||
                            .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
					                            .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
				
			||||||
                                .WithDownstreamPathTemplate("someDownstreamPath")
 | 
					                                .WithDownstreamPathTemplate("someDownstreamPath")
 | 
				
			||||||
                                .WithUpstreamTemplatePattern(new UpstreamPathTemplate("test", 1, false, "someUpstreamPath"))
 | 
					                                .WithUpstreamPathTemplate(new UpstreamPathTemplate("test", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                                .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
					                                .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
				
			||||||
                                .Build())
 | 
					                                .Build())
 | 
				
			||||||
                            .WithUpstreamTemplatePattern(new UpstreamPathTemplate("test", 1, false, "someUpstreamPath"))
 | 
					                            .WithUpstreamPathTemplate(new UpstreamPathTemplate("test", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                            .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
					                            .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
				
			||||||
                            .Build()
 | 
					                            .Build()
 | 
				
			||||||
                        )))
 | 
					                        )))
 | 
				
			||||||
@@ -141,10 +141,10 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
 | 
				
			|||||||
                        .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
					                        .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
				
			||||||
                            .WithDownstreamPathTemplate("someDownstreamPath")
 | 
					                            .WithDownstreamPathTemplate("someDownstreamPath")
 | 
				
			||||||
                            .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                            .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                            .WithUpstreamTemplatePattern(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
					                            .WithUpstreamPathTemplate(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                            .Build())
 | 
					                            .Build())
 | 
				
			||||||
                        .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                        .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                        .WithUpstreamTemplatePattern(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
					                        .WithUpstreamPathTemplate(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                        .Build()
 | 
					                        .Build()
 | 
				
			||||||
                }, string.Empty, serviceProviderConfig
 | 
					                }, string.Empty, serviceProviderConfig
 | 
				
			||||||
                ))
 | 
					                ))
 | 
				
			||||||
@@ -158,10 +158,10 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
 | 
				
			|||||||
                                .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
					                                .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
				
			||||||
                                    .WithDownstreamPathTemplate("someDownstreamPath")
 | 
					                                    .WithDownstreamPathTemplate("someDownstreamPath")
 | 
				
			||||||
                                    .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                                    .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                                    .WithUpstreamTemplatePattern(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
					                                    .WithUpstreamPathTemplate(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                                    .Build())
 | 
					                                    .Build())
 | 
				
			||||||
                                .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                                .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                                .WithUpstreamTemplatePattern(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
					                                .WithUpstreamPathTemplate(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                                .Build()
 | 
					                                .Build()
 | 
				
			||||||
                )))
 | 
					                )))
 | 
				
			||||||
                .And(x => x.ThenTheUrlMatcherIsCalledCorrectly())
 | 
					                .And(x => x.ThenTheUrlMatcherIsCalledCorrectly())
 | 
				
			||||||
@@ -183,10 +183,10 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
 | 
				
			|||||||
                        .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
					                        .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
				
			||||||
                            .WithDownstreamPathTemplate("someDownstreamPath")
 | 
					                            .WithDownstreamPathTemplate("someDownstreamPath")
 | 
				
			||||||
                            .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                            .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                            .WithUpstreamTemplatePattern(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
					                            .WithUpstreamPathTemplate(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                            .Build())
 | 
					                            .Build())
 | 
				
			||||||
                        .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                        .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                        .WithUpstreamTemplatePattern(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
					                        .WithUpstreamPathTemplate(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                        .Build()
 | 
					                        .Build()
 | 
				
			||||||
                }, string.Empty, serviceProviderConfig
 | 
					                }, string.Empty, serviceProviderConfig
 | 
				
			||||||
                ))
 | 
					                ))
 | 
				
			||||||
@@ -200,10 +200,10 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
 | 
				
			|||||||
                                .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
					                                .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
				
			||||||
                                    .WithDownstreamPathTemplate("someDownstreamPath")
 | 
					                                    .WithDownstreamPathTemplate("someDownstreamPath")
 | 
				
			||||||
                                    .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                                    .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                                    .WithUpstreamTemplatePattern(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
					                                    .WithUpstreamPathTemplate(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                                    .Build())
 | 
					                                    .Build())
 | 
				
			||||||
                                .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                                .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                                .WithUpstreamTemplatePattern(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
					                                .WithUpstreamPathTemplate(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                                .Build()
 | 
					                                .Build()
 | 
				
			||||||
                )))
 | 
					                )))
 | 
				
			||||||
                .And(x => x.ThenTheUrlMatcherIsCalledCorrectly("matchInUrlMatcher"))
 | 
					                .And(x => x.ThenTheUrlMatcherIsCalledCorrectly("matchInUrlMatcher"))
 | 
				
			||||||
@@ -226,10 +226,10 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
 | 
				
			|||||||
                        .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
					                        .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
				
			||||||
                            .WithDownstreamPathTemplate("someDownstreamPath")
 | 
					                            .WithDownstreamPathTemplate("someDownstreamPath")
 | 
				
			||||||
                            .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                            .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                            .WithUpstreamTemplatePattern(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
					                            .WithUpstreamPathTemplate(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                            .Build())
 | 
					                            .Build())
 | 
				
			||||||
                        .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                        .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                        .WithUpstreamTemplatePattern(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
					                        .WithUpstreamPathTemplate(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                        .Build()
 | 
					                        .Build()
 | 
				
			||||||
                }, string.Empty, serviceProviderConfig
 | 
					                }, string.Empty, serviceProviderConfig
 | 
				
			||||||
                    ))
 | 
					                    ))
 | 
				
			||||||
@@ -242,10 +242,10 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
 | 
				
			|||||||
                            .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
					                            .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
				
			||||||
                                .WithDownstreamPathTemplate("someDownstreamPath")
 | 
					                                .WithDownstreamPathTemplate("someDownstreamPath")
 | 
				
			||||||
                                .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                                .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                                .WithUpstreamTemplatePattern(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
					                                .WithUpstreamPathTemplate(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                                .Build())
 | 
					                                .Build())
 | 
				
			||||||
                            .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                            .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                            .WithUpstreamTemplatePattern(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
					                            .WithUpstreamPathTemplate(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                            .Build()
 | 
					                            .Build()
 | 
				
			||||||
                        )))
 | 
					                        )))
 | 
				
			||||||
                .BDDfy();
 | 
					                .BDDfy();
 | 
				
			||||||
@@ -267,19 +267,19 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
 | 
				
			|||||||
                        .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
					                        .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
				
			||||||
                            .WithDownstreamPathTemplate("someDownstreamPath")
 | 
					                            .WithDownstreamPathTemplate("someDownstreamPath")
 | 
				
			||||||
                            .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                            .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                            .WithUpstreamTemplatePattern(new UpstreamPathTemplate("", 1, false, "someUpstreamPath"))
 | 
					                            .WithUpstreamPathTemplate(new UpstreamPathTemplate("", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                            .Build())
 | 
					                            .Build())
 | 
				
			||||||
                        .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                        .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                        .WithUpstreamTemplatePattern(new UpstreamPathTemplate("", 1, false, "someUpstreamPath"))
 | 
					                        .WithUpstreamPathTemplate(new UpstreamPathTemplate("", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                        .Build(),
 | 
					                        .Build(),
 | 
				
			||||||
                    new ReRouteBuilder()
 | 
					                    new ReRouteBuilder()
 | 
				
			||||||
                        .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
					                        .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
				
			||||||
                            .WithDownstreamPathTemplate("someDownstreamPathForAPost")
 | 
					                            .WithDownstreamPathTemplate("someDownstreamPathForAPost")
 | 
				
			||||||
                            .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
					                            .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
				
			||||||
                            .WithUpstreamTemplatePattern(new UpstreamPathTemplate("", 1, false, "someUpstreamPath"))
 | 
					                            .WithUpstreamPathTemplate(new UpstreamPathTemplate("", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                            .Build())
 | 
					                            .Build())
 | 
				
			||||||
                        .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
					                        .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
				
			||||||
                        .WithUpstreamTemplatePattern(new UpstreamPathTemplate("", 1, false, "someUpstreamPath"))
 | 
					                        .WithUpstreamPathTemplate(new UpstreamPathTemplate("", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                        .Build()
 | 
					                        .Build()
 | 
				
			||||||
                }, string.Empty, serviceProviderConfig
 | 
					                }, string.Empty, serviceProviderConfig
 | 
				
			||||||
                    ))
 | 
					                    ))
 | 
				
			||||||
@@ -292,10 +292,10 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
 | 
				
			|||||||
                            .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
					                            .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
				
			||||||
                                .WithDownstreamPathTemplate("someDownstreamPathForAPost")
 | 
					                                .WithDownstreamPathTemplate("someDownstreamPathForAPost")
 | 
				
			||||||
                                .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
					                                .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
				
			||||||
                                .WithUpstreamTemplatePattern(new UpstreamPathTemplate("", 1, false, "someUpstreamPath"))
 | 
					                                .WithUpstreamPathTemplate(new UpstreamPathTemplate("", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                                .Build())
 | 
					                                .Build())
 | 
				
			||||||
                            .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
					                            .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
				
			||||||
                            .WithUpstreamTemplatePattern(new UpstreamPathTemplate("", 1, false, "someUpstreamPath"))
 | 
					                            .WithUpstreamPathTemplate(new UpstreamPathTemplate("", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                            .Build()
 | 
					                            .Build()
 | 
				
			||||||
                        )))
 | 
					                        )))
 | 
				
			||||||
                .BDDfy();
 | 
					                .BDDfy();
 | 
				
			||||||
@@ -313,10 +313,10 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
 | 
				
			|||||||
                        .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
					                        .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
				
			||||||
                                .WithDownstreamPathTemplate("somPath")
 | 
					                                .WithDownstreamPathTemplate("somPath")
 | 
				
			||||||
                                .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                                .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                                .WithUpstreamTemplatePattern(new UpstreamPathTemplate("somePath", 1, false, "someUpstreamPath"))
 | 
					                                .WithUpstreamPathTemplate(new UpstreamPathTemplate("somePath", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                                .Build())
 | 
					                                .Build())
 | 
				
			||||||
                        .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                        .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                        .WithUpstreamTemplatePattern(new UpstreamPathTemplate("somePath", 1, false, "someUpstreamPath"))
 | 
					                        .WithUpstreamPathTemplate(new UpstreamPathTemplate("somePath", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                        .Build(),   
 | 
					                        .Build(),   
 | 
				
			||||||
                     }, string.Empty, serviceProviderConfig
 | 
					                     }, string.Empty, serviceProviderConfig
 | 
				
			||||||
                 ))
 | 
					                 ))
 | 
				
			||||||
@@ -345,10 +345,10 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
 | 
				
			|||||||
                        .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
					                        .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
				
			||||||
                            .WithDownstreamPathTemplate("someDownstreamPath")
 | 
					                            .WithDownstreamPathTemplate("someDownstreamPath")
 | 
				
			||||||
                            .WithUpstreamHttpMethod(new List<string> { "Get", "Post" })
 | 
					                            .WithUpstreamHttpMethod(new List<string> { "Get", "Post" })
 | 
				
			||||||
                            .WithUpstreamTemplatePattern(new UpstreamPathTemplate("", 1, false, "someUpstreamPath"))
 | 
					                            .WithUpstreamPathTemplate(new UpstreamPathTemplate("", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                            .Build())
 | 
					                            .Build())
 | 
				
			||||||
                        .WithUpstreamHttpMethod(new List<string> { "Get", "Post" })
 | 
					                        .WithUpstreamHttpMethod(new List<string> { "Get", "Post" })
 | 
				
			||||||
                        .WithUpstreamTemplatePattern(new UpstreamPathTemplate("", 1, false, "someUpstreamPath"))
 | 
					                        .WithUpstreamPathTemplate(new UpstreamPathTemplate("", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                        .Build()
 | 
					                        .Build()
 | 
				
			||||||
                }, string.Empty, serviceProviderConfig
 | 
					                }, string.Empty, serviceProviderConfig
 | 
				
			||||||
                    ))
 | 
					                    ))
 | 
				
			||||||
@@ -361,10 +361,10 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
 | 
				
			|||||||
                            .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
					                            .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
				
			||||||
                                .WithDownstreamPathTemplate("someDownstreamPath")
 | 
					                                .WithDownstreamPathTemplate("someDownstreamPath")
 | 
				
			||||||
                                .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
					                                .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
				
			||||||
                                .WithUpstreamTemplatePattern(new UpstreamPathTemplate("", 1, false, "someUpstreamPath"))
 | 
					                                .WithUpstreamPathTemplate(new UpstreamPathTemplate("", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                                .Build())
 | 
					                                .Build())
 | 
				
			||||||
                            .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
					                            .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
				
			||||||
                            .WithUpstreamTemplatePattern(new UpstreamPathTemplate("", 1, false, "someUpstreamPath"))
 | 
					                            .WithUpstreamPathTemplate(new UpstreamPathTemplate("", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                            .Build()
 | 
					                            .Build()
 | 
				
			||||||
                        )))
 | 
					                        )))
 | 
				
			||||||
                .BDDfy();
 | 
					                .BDDfy();
 | 
				
			||||||
@@ -386,10 +386,10 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
 | 
				
			|||||||
                        .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
					                        .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
				
			||||||
                            .WithDownstreamPathTemplate("someDownstreamPath")
 | 
					                            .WithDownstreamPathTemplate("someDownstreamPath")
 | 
				
			||||||
                            .WithUpstreamHttpMethod(new List<string>())
 | 
					                            .WithUpstreamHttpMethod(new List<string>())
 | 
				
			||||||
                            .WithUpstreamTemplatePattern(new UpstreamPathTemplate("", 1, false, "someUpstreamPath"))
 | 
					                            .WithUpstreamPathTemplate(new UpstreamPathTemplate("", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                            .Build())
 | 
					                            .Build())
 | 
				
			||||||
                        .WithUpstreamHttpMethod(new List<string>())
 | 
					                        .WithUpstreamHttpMethod(new List<string>())
 | 
				
			||||||
                        .WithUpstreamTemplatePattern(new UpstreamPathTemplate("", 1, false, "someUpstreamPath"))
 | 
					                        .WithUpstreamPathTemplate(new UpstreamPathTemplate("", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                        .Build()
 | 
					                        .Build()
 | 
				
			||||||
                }, string.Empty, serviceProviderConfig
 | 
					                }, string.Empty, serviceProviderConfig
 | 
				
			||||||
                    ))
 | 
					                    ))
 | 
				
			||||||
@@ -402,10 +402,10 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
 | 
				
			|||||||
                            .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
					                            .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
				
			||||||
                                .WithDownstreamPathTemplate("someDownstreamPath")
 | 
					                                .WithDownstreamPathTemplate("someDownstreamPath")
 | 
				
			||||||
                                .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
					                                .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
				
			||||||
                                .WithUpstreamTemplatePattern(new UpstreamPathTemplate("", 1, false, "someUpstreamPath"))
 | 
					                                .WithUpstreamPathTemplate(new UpstreamPathTemplate("", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                                .Build())
 | 
					                                .Build())
 | 
				
			||||||
                            .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
					                            .WithUpstreamHttpMethod(new List<string> { "Post" })
 | 
				
			||||||
                            .WithUpstreamTemplatePattern(new UpstreamPathTemplate("", 1, false, "someUpstreamPath"))
 | 
					                            .WithUpstreamPathTemplate(new UpstreamPathTemplate("", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                            .Build()
 | 
					                            .Build()
 | 
				
			||||||
                        )))
 | 
					                        )))
 | 
				
			||||||
                .BDDfy();
 | 
					                .BDDfy();
 | 
				
			||||||
@@ -427,10 +427,10 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
 | 
				
			|||||||
                        .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
					                        .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
				
			||||||
                            .WithDownstreamPathTemplate("someDownstreamPath")
 | 
					                            .WithDownstreamPathTemplate("someDownstreamPath")
 | 
				
			||||||
                            .WithUpstreamHttpMethod(new List<string> { "Get", "Patch", "Delete" })
 | 
					                            .WithUpstreamHttpMethod(new List<string> { "Get", "Patch", "Delete" })
 | 
				
			||||||
                            .WithUpstreamTemplatePattern(new UpstreamPathTemplate("", 1, false, "someUpstreamPath"))
 | 
					                            .WithUpstreamPathTemplate(new UpstreamPathTemplate("", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                            .Build())
 | 
					                            .Build())
 | 
				
			||||||
                        .WithUpstreamHttpMethod(new List<string> { "Get", "Patch", "Delete" })
 | 
					                        .WithUpstreamHttpMethod(new List<string> { "Get", "Patch", "Delete" })
 | 
				
			||||||
                        .WithUpstreamTemplatePattern(new UpstreamPathTemplate("", 1, false, "someUpstreamPath"))
 | 
					                        .WithUpstreamPathTemplate(new UpstreamPathTemplate("", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                        .Build()
 | 
					                        .Build()
 | 
				
			||||||
                }, string.Empty, serviceProviderConfig
 | 
					                }, string.Empty, serviceProviderConfig
 | 
				
			||||||
                    ))
 | 
					                    ))
 | 
				
			||||||
@@ -458,11 +458,11 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
 | 
				
			|||||||
                            .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
					                            .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
				
			||||||
                                .WithDownstreamPathTemplate("someDownstreamPath")
 | 
					                                .WithDownstreamPathTemplate("someDownstreamPath")
 | 
				
			||||||
                                .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                                .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                                .WithUpstreamTemplatePattern(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
					                                .WithUpstreamPathTemplate(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                                .WithUpstreamHost("MATCH")
 | 
					                                .WithUpstreamHost("MATCH")
 | 
				
			||||||
                                .Build())
 | 
					                                .Build())
 | 
				
			||||||
                            .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                            .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                            .WithUpstreamTemplatePattern(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
					                            .WithUpstreamPathTemplate(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                            .WithUpstreamHost("MATCH")
 | 
					                            .WithUpstreamHost("MATCH")
 | 
				
			||||||
                            .Build()
 | 
					                            .Build()
 | 
				
			||||||
                    }, string.Empty, serviceProviderConfig
 | 
					                    }, string.Empty, serviceProviderConfig
 | 
				
			||||||
@@ -477,10 +477,10 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
 | 
				
			|||||||
                            .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
					                            .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
				
			||||||
                                .WithDownstreamPathTemplate("someDownstreamPath")
 | 
					                                .WithDownstreamPathTemplate("someDownstreamPath")
 | 
				
			||||||
                                .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                                .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                                .WithUpstreamTemplatePattern(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
					                                .WithUpstreamPathTemplate(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                                .Build())
 | 
					                                .Build())
 | 
				
			||||||
                            .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                            .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                            .WithUpstreamTemplatePattern(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
					                            .WithUpstreamPathTemplate(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                            .Build()
 | 
					                            .Build()
 | 
				
			||||||
                    )))
 | 
					                    )))
 | 
				
			||||||
                .And(x => x.ThenTheUrlMatcherIsCalledCorrectly())
 | 
					                .And(x => x.ThenTheUrlMatcherIsCalledCorrectly())
 | 
				
			||||||
@@ -503,10 +503,10 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
 | 
				
			|||||||
                            .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
					                            .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
				
			||||||
                                .WithDownstreamPathTemplate("someDownstreamPath")
 | 
					                                .WithDownstreamPathTemplate("someDownstreamPath")
 | 
				
			||||||
                                .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                                .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                                .WithUpstreamTemplatePattern(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
					                                .WithUpstreamPathTemplate(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                                .Build())
 | 
					                                .Build())
 | 
				
			||||||
                            .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                            .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                            .WithUpstreamTemplatePattern(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
					                            .WithUpstreamPathTemplate(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                            .Build()
 | 
					                            .Build()
 | 
				
			||||||
                    }, string.Empty, serviceProviderConfig
 | 
					                    }, string.Empty, serviceProviderConfig
 | 
				
			||||||
                ))
 | 
					                ))
 | 
				
			||||||
@@ -520,10 +520,10 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
 | 
				
			|||||||
                            .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
					                            .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
				
			||||||
                                .WithDownstreamPathTemplate("someDownstreamPath")
 | 
					                                .WithDownstreamPathTemplate("someDownstreamPath")
 | 
				
			||||||
                                .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                                .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                                .WithUpstreamTemplatePattern(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
					                                .WithUpstreamPathTemplate(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                                .Build())
 | 
					                                .Build())
 | 
				
			||||||
                            .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                            .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                            .WithUpstreamTemplatePattern(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
					                            .WithUpstreamPathTemplate(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                            .Build()
 | 
					                            .Build()
 | 
				
			||||||
                    )))
 | 
					                    )))
 | 
				
			||||||
                .And(x => x.ThenTheUrlMatcherIsCalledCorrectly())
 | 
					                .And(x => x.ThenTheUrlMatcherIsCalledCorrectly())
 | 
				
			||||||
@@ -544,22 +544,22 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
 | 
				
			|||||||
                            .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
					                            .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
				
			||||||
                                .WithDownstreamPathTemplate("someDownstreamPath")
 | 
					                                .WithDownstreamPathTemplate("someDownstreamPath")
 | 
				
			||||||
                                .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                                .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                                .WithUpstreamTemplatePattern(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
					                                .WithUpstreamPathTemplate(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                                .WithUpstreamHost("MATCH")
 | 
					                                .WithUpstreamHost("MATCH")
 | 
				
			||||||
                                .Build())
 | 
					                                .Build())
 | 
				
			||||||
                            .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                            .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                            .WithUpstreamTemplatePattern(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
					                            .WithUpstreamPathTemplate(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                            .WithUpstreamHost("MATCH")
 | 
					                            .WithUpstreamHost("MATCH")
 | 
				
			||||||
                            .Build(),
 | 
					                            .Build(),
 | 
				
			||||||
                        new ReRouteBuilder()
 | 
					                        new ReRouteBuilder()
 | 
				
			||||||
                            .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
					                            .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
				
			||||||
                                .WithDownstreamPathTemplate("someDownstreamPath")
 | 
					                                .WithDownstreamPathTemplate("someDownstreamPath")
 | 
				
			||||||
                                .WithUpstreamHttpMethod(new List<string> { }) // empty list of methods
 | 
					                                .WithUpstreamHttpMethod(new List<string> { }) // empty list of methods
 | 
				
			||||||
                                .WithUpstreamTemplatePattern(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
					                                .WithUpstreamPathTemplate(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                                .WithUpstreamHost("MATCH")
 | 
					                                .WithUpstreamHost("MATCH")
 | 
				
			||||||
                                .Build())
 | 
					                                .Build())
 | 
				
			||||||
                            .WithUpstreamHttpMethod(new List<string> { }) // empty list of methods
 | 
					                            .WithUpstreamHttpMethod(new List<string> { }) // empty list of methods
 | 
				
			||||||
                            .WithUpstreamTemplatePattern(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
					                            .WithUpstreamPathTemplate(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                            .WithUpstreamHost("MATCH")
 | 
					                            .WithUpstreamHost("MATCH")
 | 
				
			||||||
                            .Build()
 | 
					                            .Build()
 | 
				
			||||||
                    }, string.Empty, serviceProviderConfig
 | 
					                    }, string.Empty, serviceProviderConfig
 | 
				
			||||||
@@ -586,11 +586,11 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
 | 
				
			|||||||
                            .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
					                            .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
				
			||||||
                                .WithDownstreamPathTemplate("someDownstreamPath")
 | 
					                                .WithDownstreamPathTemplate("someDownstreamPath")
 | 
				
			||||||
                                .WithUpstreamHttpMethod(new List<string>())
 | 
					                                .WithUpstreamHttpMethod(new List<string>())
 | 
				
			||||||
                                .WithUpstreamTemplatePattern(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
					                                .WithUpstreamPathTemplate(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                                .WithUpstreamHost("MATCH")
 | 
					                                .WithUpstreamHost("MATCH")
 | 
				
			||||||
                                .Build())
 | 
					                                .Build())
 | 
				
			||||||
                            .WithUpstreamHttpMethod(new List<string>())
 | 
					                            .WithUpstreamHttpMethod(new List<string>())
 | 
				
			||||||
                            .WithUpstreamTemplatePattern(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
					                            .WithUpstreamPathTemplate(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                            .WithUpstreamHost("MATCH")
 | 
					                            .WithUpstreamHost("MATCH")
 | 
				
			||||||
                            .Build()
 | 
					                            .Build()
 | 
				
			||||||
                    }, string.Empty, serviceProviderConfig
 | 
					                    }, string.Empty, serviceProviderConfig
 | 
				
			||||||
@@ -617,11 +617,11 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
 | 
				
			|||||||
                            .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
					                            .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
				
			||||||
                                .WithDownstreamPathTemplate("someDownstreamPath")
 | 
					                                .WithDownstreamPathTemplate("someDownstreamPath")
 | 
				
			||||||
                                .WithUpstreamHttpMethod(new List<string>())
 | 
					                                .WithUpstreamHttpMethod(new List<string>())
 | 
				
			||||||
                                .WithUpstreamTemplatePattern(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
					                                .WithUpstreamPathTemplate(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                                .WithUpstreamHost("MATCH")
 | 
					                                .WithUpstreamHost("MATCH")
 | 
				
			||||||
                                .Build())
 | 
					                                .Build())
 | 
				
			||||||
                            .WithUpstreamHttpMethod(new List<string>())
 | 
					                            .WithUpstreamHttpMethod(new List<string>())
 | 
				
			||||||
                            .WithUpstreamTemplatePattern(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
					                            .WithUpstreamPathTemplate(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                            .WithUpstreamHost("MATCH")
 | 
					                            .WithUpstreamHost("MATCH")
 | 
				
			||||||
                            .Build()
 | 
					                            .Build()
 | 
				
			||||||
                    }, string.Empty, serviceProviderConfig
 | 
					                    }, string.Empty, serviceProviderConfig
 | 
				
			||||||
@@ -649,20 +649,20 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
 | 
				
			|||||||
                            .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
					                            .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
				
			||||||
                                .WithDownstreamPathTemplate("THENULLPATH")
 | 
					                                .WithDownstreamPathTemplate("THENULLPATH")
 | 
				
			||||||
                                .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                                .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                                .WithUpstreamTemplatePattern(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
					                                .WithUpstreamPathTemplate(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                                .Build())
 | 
					                                .Build())
 | 
				
			||||||
                            .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                            .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                            .WithUpstreamTemplatePattern(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
					                            .WithUpstreamPathTemplate(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                            .Build(),
 | 
					                            .Build(),
 | 
				
			||||||
                        new ReRouteBuilder()
 | 
					                        new ReRouteBuilder()
 | 
				
			||||||
                            .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
					                            .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
				
			||||||
                                .WithDownstreamPathTemplate("someDownstreamPath")
 | 
					                                .WithDownstreamPathTemplate("someDownstreamPath")
 | 
				
			||||||
                                .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                                .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                                .WithUpstreamTemplatePattern(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
					                                .WithUpstreamPathTemplate(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                                .WithUpstreamHost("MATCH")
 | 
					                                .WithUpstreamHost("MATCH")
 | 
				
			||||||
                                .Build())
 | 
					                                .Build())
 | 
				
			||||||
                            .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                            .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                            .WithUpstreamTemplatePattern(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
					                            .WithUpstreamPathTemplate(new UpstreamPathTemplate("someUpstreamPath", 1, false, "someUpstreamPath"))
 | 
				
			||||||
                            .WithUpstreamHost("MATCH")
 | 
					                            .WithUpstreamHost("MATCH")
 | 
				
			||||||
                            .Build()
 | 
					                            .Build()
 | 
				
			||||||
                    }, string.Empty, serviceProviderConfig
 | 
					                    }, string.Empty, serviceProviderConfig
 | 
				
			||||||
@@ -677,10 +677,10 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
 | 
				
			|||||||
                            .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
					                            .WithDownstreamReRoute(new DownstreamReRouteBuilder()
 | 
				
			||||||
                                .WithDownstreamPathTemplate("someDownstreamPath")
 | 
					                                .WithDownstreamPathTemplate("someDownstreamPath")
 | 
				
			||||||
                                .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                                .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                                .WithUpstreamTemplatePattern(new UpstreamPathTemplate("someUpstreamPath", 1, false, "test"))
 | 
					                                .WithUpstreamPathTemplate(new UpstreamPathTemplate("someUpstreamPath", 1, false, "test"))
 | 
				
			||||||
                                .Build())
 | 
					                                .Build())
 | 
				
			||||||
                            .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
					                            .WithUpstreamHttpMethod(new List<string> { "Get" })
 | 
				
			||||||
                            .WithUpstreamTemplatePattern(new UpstreamPathTemplate("someUpstreamPath", 1, false, "test"))
 | 
					                            .WithUpstreamPathTemplate(new UpstreamPathTemplate("someUpstreamPath", 1, false, "test"))
 | 
				
			||||||
                            .Build()
 | 
					                            .Build()
 | 
				
			||||||
                    )))
 | 
					                    )))
 | 
				
			||||||
                .And(x => x.ThenTheUrlMatcherIsCalledCorrectly(2))
 | 
					                .And(x => x.ThenTheUrlMatcherIsCalledCorrectly(2))
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -56,7 +56,7 @@ namespace Ocelot.UnitTests.DownstreamRouteFinder
 | 
				
			|||||||
            var spConfig = new ServiceProviderConfigurationBuilder().WithHost("test").WithPort(50).WithType("test").Build();
 | 
					            var spConfig = new ServiceProviderConfigurationBuilder().WithHost("test").WithPort(50).WithType("test").Build();
 | 
				
			||||||
            var reRoutes = new List<ReRoute>
 | 
					            var reRoutes = new List<ReRoute>
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                new ReRouteBuilder().WithUpstreamTemplatePattern(new UpstreamPathTemplateBuilder().WithOriginalValue("woot").Build()).Build()
 | 
					                new ReRouteBuilder().WithUpstreamPathTemplate(new UpstreamPathTemplateBuilder().WithOriginalValue("woot").Build()).Build()
 | 
				
			||||||
            };
 | 
					            };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            this.Given(_ => GivenTheReRoutes(reRoutes, spConfig))
 | 
					            this.Given(_ => GivenTheReRoutes(reRoutes, spConfig))
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -296,7 +296,7 @@
 | 
				
			|||||||
                .WithDownstreamPathTemplate("/Authorized/{action}?server={server}")
 | 
					                .WithDownstreamPathTemplate("/Authorized/{action}?server={server}")
 | 
				
			||||||
                .WithUpstreamHttpMethod(new List<string> { "Post", "Get" })
 | 
					                .WithUpstreamHttpMethod(new List<string> { "Post", "Get" })
 | 
				
			||||||
                .WithDownstreamScheme("http")
 | 
					                .WithDownstreamScheme("http")
 | 
				
			||||||
                .WithUpstreamTemplatePattern(new UpstreamPathTemplateBuilder().WithOriginalValue("/uc/Authorized/{server}/{action}").Build())
 | 
					                .WithUpstreamPathTemplate(new UpstreamPathTemplateBuilder().WithOriginalValue("/uc/Authorized/{server}/{action}").Build())
 | 
				
			||||||
                .Build();
 | 
					                .Build();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            var config = new ServiceProviderConfigurationBuilder()
 | 
					            var config = new ServiceProviderConfigurationBuilder()
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -56,7 +56,7 @@ namespace Ocelot.UnitTests.RateLimit
 | 
				
			|||||||
                .WithEnableRateLimiting(true)
 | 
					                .WithEnableRateLimiting(true)
 | 
				
			||||||
                .WithRateLimitOptions(new RateLimitOptions(true, "ClientId", new List<string>(), false, "", "", new RateLimitRule("1s", 100, 3), 429))
 | 
					                .WithRateLimitOptions(new RateLimitOptions(true, "ClientId", new List<string>(), false, "", "", new RateLimitRule("1s", 100, 3), 429))
 | 
				
			||||||
                .WithUpstreamHttpMethod(new List<string> {"Get"})
 | 
					                .WithUpstreamHttpMethod(new List<string> {"Get"})
 | 
				
			||||||
                .WithUpstreamTemplatePattern(upstreamTemplate)
 | 
					                .WithUpstreamPathTemplate(upstreamTemplate)
 | 
				
			||||||
                .Build();
 | 
					                .Build();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            var reRoute = new ReRouteBuilder()
 | 
					            var reRoute = new ReRouteBuilder()
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -54,7 +54,7 @@ namespace Ocelot.UnitTests.Requester
 | 
				
			|||||||
                .WithQosOptions(qosOptions)
 | 
					                .WithQosOptions(qosOptions)
 | 
				
			||||||
                .WithHttpHandlerOptions(new HttpHandlerOptions(false, false, false, true))
 | 
					                .WithHttpHandlerOptions(new HttpHandlerOptions(false, false, false, true))
 | 
				
			||||||
                .WithLoadBalancerKey("")
 | 
					                .WithLoadBalancerKey("")
 | 
				
			||||||
                .WithUpstreamTemplatePattern(new UpstreamPathTemplateBuilder().WithOriginalValue("").Build())
 | 
					                .WithUpstreamPathTemplate(new UpstreamPathTemplateBuilder().WithOriginalValue("").Build())
 | 
				
			||||||
                .WithQosOptions(new QoSOptionsBuilder().Build())
 | 
					                .WithQosOptions(new QoSOptionsBuilder().Build())
 | 
				
			||||||
                .Build();
 | 
					                .Build();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -75,7 +75,7 @@ namespace Ocelot.UnitTests.Requester
 | 
				
			|||||||
                .WithQosOptions(qosOptions)
 | 
					                .WithQosOptions(qosOptions)
 | 
				
			||||||
                .WithHttpHandlerOptions(new HttpHandlerOptions(false, false, false, true))
 | 
					                .WithHttpHandlerOptions(new HttpHandlerOptions(false, false, false, true))
 | 
				
			||||||
                .WithLoadBalancerKey("")
 | 
					                .WithLoadBalancerKey("")
 | 
				
			||||||
                .WithUpstreamTemplatePattern(new UpstreamPathTemplateBuilder().WithOriginalValue("").Build())
 | 
					                .WithUpstreamPathTemplate(new UpstreamPathTemplateBuilder().WithOriginalValue("").Build())
 | 
				
			||||||
                .WithQosOptions(new QoSOptionsBuilder().Build())
 | 
					                .WithQosOptions(new QoSOptionsBuilder().Build())
 | 
				
			||||||
                .Build();
 | 
					                .Build();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -101,7 +101,7 @@ namespace Ocelot.UnitTests.Requester
 | 
				
			|||||||
                .WithQosOptions(qosOptions)
 | 
					                .WithQosOptions(qosOptions)
 | 
				
			||||||
                .WithHttpHandlerOptions(new HttpHandlerOptions(false, false, false, true))
 | 
					                .WithHttpHandlerOptions(new HttpHandlerOptions(false, false, false, true))
 | 
				
			||||||
                .WithLoadBalancerKey("")
 | 
					                .WithLoadBalancerKey("")
 | 
				
			||||||
                .WithUpstreamTemplatePattern(new UpstreamPathTemplateBuilder().WithOriginalValue("").Build())
 | 
					                .WithUpstreamPathTemplate(new UpstreamPathTemplateBuilder().WithOriginalValue("").Build())
 | 
				
			||||||
                .WithQosOptions(new QoSOptionsBuilder().Build())
 | 
					                .WithQosOptions(new QoSOptionsBuilder().Build())
 | 
				
			||||||
                .Build();
 | 
					                .Build();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -128,7 +128,7 @@ namespace Ocelot.UnitTests.Requester
 | 
				
			|||||||
                .WithQosOptions(qosOptions)
 | 
					                .WithQosOptions(qosOptions)
 | 
				
			||||||
                .WithHttpHandlerOptions(new HttpHandlerOptions(false, false, false, true))
 | 
					                .WithHttpHandlerOptions(new HttpHandlerOptions(false, false, false, true))
 | 
				
			||||||
                .WithLoadBalancerKey("")
 | 
					                .WithLoadBalancerKey("")
 | 
				
			||||||
                .WithUpstreamTemplatePattern(new UpstreamPathTemplateBuilder().WithContainsQueryString(true).WithOriginalValue("").Build())
 | 
					                .WithUpstreamPathTemplate(new UpstreamPathTemplateBuilder().WithContainsQueryString(true).WithOriginalValue("").Build())
 | 
				
			||||||
                .WithQosOptions(new QoSOptionsBuilder().Build())
 | 
					                .WithQosOptions(new QoSOptionsBuilder().Build())
 | 
				
			||||||
                .Build();
 | 
					                .Build();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -136,7 +136,7 @@ namespace Ocelot.UnitTests.Requester
 | 
				
			|||||||
                .WithQosOptions(qosOptions)
 | 
					                .WithQosOptions(qosOptions)
 | 
				
			||||||
                .WithHttpHandlerOptions(new HttpHandlerOptions(false, false, false, true))
 | 
					                .WithHttpHandlerOptions(new HttpHandlerOptions(false, false, false, true))
 | 
				
			||||||
                .WithLoadBalancerKey("")
 | 
					                .WithLoadBalancerKey("")
 | 
				
			||||||
                .WithUpstreamTemplatePattern(new UpstreamPathTemplateBuilder().WithContainsQueryString(true).WithOriginalValue("").Build())
 | 
					                .WithUpstreamPathTemplate(new UpstreamPathTemplateBuilder().WithContainsQueryString(true).WithOriginalValue("").Build())
 | 
				
			||||||
                .WithQosOptions(new QoSOptionsBuilder().Build())
 | 
					                .WithQosOptions(new QoSOptionsBuilder().Build())
 | 
				
			||||||
                .Build();
 | 
					                .Build();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -163,7 +163,7 @@ namespace Ocelot.UnitTests.Requester
 | 
				
			|||||||
                .WithQosOptions(qosOptions)
 | 
					                .WithQosOptions(qosOptions)
 | 
				
			||||||
                .WithHttpHandlerOptions(new HttpHandlerOptions(false, false, false, true))
 | 
					                .WithHttpHandlerOptions(new HttpHandlerOptions(false, false, false, true))
 | 
				
			||||||
                .WithLoadBalancerKey("")
 | 
					                .WithLoadBalancerKey("")
 | 
				
			||||||
                .WithUpstreamTemplatePattern(new UpstreamPathTemplateBuilder().WithOriginalValue("").Build())
 | 
					                .WithUpstreamPathTemplate(new UpstreamPathTemplateBuilder().WithOriginalValue("").Build())
 | 
				
			||||||
                .WithQosOptions(new QoSOptionsBuilder().Build())
 | 
					                .WithQosOptions(new QoSOptionsBuilder().Build())
 | 
				
			||||||
                .WithDangerousAcceptAnyServerCertificateValidator(true)
 | 
					                .WithDangerousAcceptAnyServerCertificateValidator(true)
 | 
				
			||||||
                .Build();
 | 
					                .Build();
 | 
				
			||||||
@@ -186,7 +186,7 @@ namespace Ocelot.UnitTests.Requester
 | 
				
			|||||||
                .WithQosOptions(qosOptions)
 | 
					                .WithQosOptions(qosOptions)
 | 
				
			||||||
                .WithHttpHandlerOptions(new HttpHandlerOptions(false, false, false, true))
 | 
					                .WithHttpHandlerOptions(new HttpHandlerOptions(false, false, false, true))
 | 
				
			||||||
                .WithLoadBalancerKey("")
 | 
					                .WithLoadBalancerKey("")
 | 
				
			||||||
                .WithUpstreamTemplatePattern(new UpstreamPathTemplateBuilder().WithOriginalValue("").Build())
 | 
					                .WithUpstreamPathTemplate(new UpstreamPathTemplateBuilder().WithOriginalValue("").Build())
 | 
				
			||||||
                .WithQosOptions(new QoSOptionsBuilder().Build())
 | 
					                .WithQosOptions(new QoSOptionsBuilder().Build())
 | 
				
			||||||
                .Build();
 | 
					                .Build();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -218,7 +218,7 @@ namespace Ocelot.UnitTests.Requester
 | 
				
			|||||||
                .WithQosOptions(qosOptions)
 | 
					                .WithQosOptions(qosOptions)
 | 
				
			||||||
                .WithHttpHandlerOptions(new HttpHandlerOptions(false, true, false, true))
 | 
					                .WithHttpHandlerOptions(new HttpHandlerOptions(false, true, false, true))
 | 
				
			||||||
                .WithLoadBalancerKey("")
 | 
					                .WithLoadBalancerKey("")
 | 
				
			||||||
                .WithUpstreamTemplatePattern(new UpstreamPathTemplateBuilder().WithOriginalValue("").Build())
 | 
					                .WithUpstreamPathTemplate(new UpstreamPathTemplateBuilder().WithOriginalValue("").Build())
 | 
				
			||||||
                .WithQosOptions(new QoSOptionsBuilder().Build())
 | 
					                .WithQosOptions(new QoSOptionsBuilder().Build())
 | 
				
			||||||
                .Build();
 | 
					                .Build();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -254,7 +254,7 @@ namespace Ocelot.UnitTests.Requester
 | 
				
			|||||||
                .WithQosOptions(qosOptions)
 | 
					                .WithQosOptions(qosOptions)
 | 
				
			||||||
                .WithHttpHandlerOptions(new HttpHandlerOptions(false, false, false, true))
 | 
					                .WithHttpHandlerOptions(new HttpHandlerOptions(false, false, false, true))
 | 
				
			||||||
                .WithLoadBalancerKey("")
 | 
					                .WithLoadBalancerKey("")
 | 
				
			||||||
                .WithUpstreamTemplatePattern(new UpstreamPathTemplateBuilder().WithOriginalValue("").Build())
 | 
					                .WithUpstreamPathTemplate(new UpstreamPathTemplateBuilder().WithOriginalValue("").Build())
 | 
				
			||||||
                .WithQosOptions(new QoSOptionsBuilder().Build())
 | 
					                .WithQosOptions(new QoSOptionsBuilder().Build())
 | 
				
			||||||
                .Build();
 | 
					                .Build();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -59,7 +59,7 @@ namespace Ocelot.UnitTests.Requester
 | 
				
			|||||||
                .WithQosOptions(qosOptions)
 | 
					                .WithQosOptions(qosOptions)
 | 
				
			||||||
                .WithHttpHandlerOptions(new HttpHandlerOptions(false, false, false, true))
 | 
					                .WithHttpHandlerOptions(new HttpHandlerOptions(false, false, false, true))
 | 
				
			||||||
                .WithLoadBalancerKey("")
 | 
					                .WithLoadBalancerKey("")
 | 
				
			||||||
                .WithUpstreamTemplatePattern(upstreamTemplate)
 | 
					                .WithUpstreamPathTemplate(upstreamTemplate)
 | 
				
			||||||
                .WithQosOptions(new QoSOptionsBuilder().Build())
 | 
					                .WithQosOptions(new QoSOptionsBuilder().Build())
 | 
				
			||||||
                .Build();
 | 
					                .Build();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -88,7 +88,7 @@ namespace Ocelot.UnitTests.Requester
 | 
				
			|||||||
                .WithQosOptions(qosOptions)
 | 
					                .WithQosOptions(qosOptions)
 | 
				
			||||||
                .WithHttpHandlerOptions(new HttpHandlerOptions(false, false, false, true))
 | 
					                .WithHttpHandlerOptions(new HttpHandlerOptions(false, false, false, true))
 | 
				
			||||||
                .WithLoadBalancerKey("")
 | 
					                .WithLoadBalancerKey("")
 | 
				
			||||||
                .WithUpstreamTemplatePattern(upstreamTemplate)
 | 
					                .WithUpstreamPathTemplate(upstreamTemplate)
 | 
				
			||||||
                .WithQosOptions(new QoSOptionsBuilder().Build())
 | 
					                .WithQosOptions(new QoSOptionsBuilder().Build())
 | 
				
			||||||
                .Build();
 | 
					                .Build();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -116,7 +116,7 @@ namespace Ocelot.UnitTests.Requester
 | 
				
			|||||||
                .WithQosOptions(qosOptions)
 | 
					                .WithQosOptions(qosOptions)
 | 
				
			||||||
                .WithHttpHandlerOptions(new HttpHandlerOptions(false, false, false, true))
 | 
					                .WithHttpHandlerOptions(new HttpHandlerOptions(false, false, false, true))
 | 
				
			||||||
                .WithLoadBalancerKey("")
 | 
					                .WithLoadBalancerKey("")
 | 
				
			||||||
                .WithUpstreamTemplatePattern(upstreamTemplate)
 | 
					                .WithUpstreamPathTemplate(upstreamTemplate)
 | 
				
			||||||
                .WithQosOptions(new QoSOptionsBuilder().WithTimeoutValue(1).Build())
 | 
					                .WithQosOptions(new QoSOptionsBuilder().WithTimeoutValue(1).Build())
 | 
				
			||||||
                .Build();
 | 
					                .Build();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user