Adds protected reconstructURI method.

Allows URI mapping behavior to be overridden for ReactiveLoadBalancerClientFilter.

Fixes gh-1524
This commit is contained in:
Timothy
2020-02-08 14:37:12 -06:00
committed by Spencer Gibb
parent b017891fe7
commit 47f640c915

View File

@@ -105,7 +105,7 @@ public class ReactiveLoadBalancerClientFilter implements GlobalFilter, Ordered {
DelegatingServiceInstance serviceInstance = new DelegatingServiceInstance(
response.getServer(), overrideScheme);
URI requestUrl = LoadBalancerUriTools.reconstructURI(serviceInstance, uri);
URI requestUrl = reconstructURI(serviceInstance, uri);
if (log.isTraceEnabled()) {
log.trace("LoadBalancerClientFilter url chosen: " + requestUrl);
@@ -114,6 +114,10 @@ public class ReactiveLoadBalancerClientFilter implements GlobalFilter, Ordered {
}).then(chain.filter(exchange));
}
protected URI reconstructURI(ServiceInstance serviceInstance, URI original) {
return LoadBalancerUriTools.reconstructURI(serviceInstance, original);
}
private Mono<Response<ServiceInstance>> choose(ServerWebExchange exchange) {
URI uri = exchange.getAttribute(GATEWAY_REQUEST_URL_ATTR);
ReactorLoadBalancer<ServiceInstance> loadBalancer = this.clientFactory