public DownstreamReRoute( string key, UpstreamPathTemplate upstreamPathTemplate, List <HeaderFindAndReplace> upstreamHeadersFindAndReplace, List <HeaderFindAndReplace> downstreamHeadersFindAndReplace, List <DownstreamHostAndPort> downstreamAddresses, string serviceName, string serviceNamespace, HttpHandlerOptions httpHandlerOptions, bool useServiceDiscovery, bool enableEndpointEndpointRateLimiting, QoSOptions qosOptions, string downstreamScheme, string requestIdKey, bool isCached, CacheOptions cacheOptions, LoadBalancerOptions loadBalancerOptions, RateLimitOptions rateLimitOptions, Dictionary <string, string> routeClaimsRequirement, List <ClaimToThing> claimsToQueries, List <ClaimToThing> claimsToHeaders, List <ClaimToThing> claimsToClaims, List <ClaimToThing> claimsToPath, bool isAuthenticated, bool isAuthorised, AuthenticationOptions authenticationOptions, DownstreamPathTemplate downstreamPathTemplate, string loadBalancerKey, List <string> delegatingHandlers, List <AddHeader> addHeadersToDownstream, List <AddHeader> addHeadersToUpstream, bool dangerousAcceptAnyServerCertificateValidator, SecurityOptions securityOptions, string downstreamHttpMethod, string downstreamHttpVersion) { DangerousAcceptAnyServerCertificateValidator = dangerousAcceptAnyServerCertificateValidator; AddHeadersToDownstream = addHeadersToDownstream; DelegatingHandlers = delegatingHandlers; Key = key; UpstreamPathTemplate = upstreamPathTemplate; UpstreamHeadersFindAndReplace = upstreamHeadersFindAndReplace ?? new List <HeaderFindAndReplace>(); DownstreamHeadersFindAndReplace = downstreamHeadersFindAndReplace ?? new List <HeaderFindAndReplace>(); DownstreamAddresses = downstreamAddresses ?? new List <DownstreamHostAndPort>(); ServiceName = serviceName; ServiceNamespace = serviceNamespace; HttpHandlerOptions = httpHandlerOptions; UseServiceDiscovery = useServiceDiscovery; EnableEndpointEndpointRateLimiting = enableEndpointEndpointRateLimiting; QosOptions = qosOptions; DownstreamScheme = downstreamScheme; RequestIdKey = requestIdKey; IsCached = isCached; CacheOptions = cacheOptions; LoadBalancerOptions = loadBalancerOptions; RateLimitOptions = rateLimitOptions; RouteClaimsRequirement = routeClaimsRequirement; ClaimsToQueries = claimsToQueries ?? new List <ClaimToThing>(); ClaimsToHeaders = claimsToHeaders ?? new List <ClaimToThing>(); ClaimsToClaims = claimsToClaims ?? new List <ClaimToThing>(); ClaimsToPath = claimsToPath ?? new List <ClaimToThing>(); IsAuthenticated = isAuthenticated; IsAuthorised = isAuthorised; AuthenticationOptions = authenticationOptions; DownstreamPathTemplate = downstreamPathTemplate; LoadBalancerKey = loadBalancerKey; AddHeadersToUpstream = addHeadersToUpstream; SecurityOptions = securityOptions; DownstreamHttpMethod = downstreamHttpMethod; DownstreamHttpVersion = downstreamHttpVersion; }