diff --git a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/ReactiveLoadBalancerClientFilter.java b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/ReactiveLoadBalancerClientFilter.java index 5b0740f2..3de22769 100644 --- a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/ReactiveLoadBalancerClientFilter.java +++ b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/ReactiveLoadBalancerClientFilter.java @@ -115,7 +115,6 @@ public class ReactiveLoadBalancerClientFilter implements GlobalFilter, Ordered { RequestDataContext.class, ResponseData.class, ServiceInstance.class); DefaultRequest lbRequest = new DefaultRequest<>( new RequestDataContext(new RequestData(exchange.getRequest()), getHint(serviceId))); - LoadBalancerProperties loadBalancerProperties = clientFactory.getProperties(serviceId); return choose(lbRequest, serviceId, supportedLifecycleProcessors).doOnNext(response -> { if (!response.hasServer()) { @@ -154,15 +153,8 @@ public class ReactiveLoadBalancerClientFilter implements GlobalFilter, Ordered { .doOnSuccess(aVoid -> supportedLifecycleProcessors.forEach(lifecycle -> lifecycle .onComplete(new CompletionContext( CompletionContext.Status.SUCCESS, lbRequest, - exchange.getAttribute(GATEWAY_LOADBALANCER_RESPONSE_ATTR), buildResponseData(exchange, - loadBalancerProperties.isUseRawStatusCodeInResponseData()))))); - } - - private ResponseData buildResponseData(ServerWebExchange exchange, boolean useRawStatusCodes) { - if (useRawStatusCodes) { - return new ResponseData(new RequestData(exchange.getRequest()), exchange.getResponse()); - } - return new ResponseData(exchange.getResponse(), new RequestData(exchange.getRequest())); + exchange.getAttribute(GATEWAY_LOADBALANCER_RESPONSE_ATTR), + new ResponseData(exchange.getResponse(), new RequestData(exchange.getRequest())))))); } protected URI reconstructURI(ServiceInstance serviceInstance, URI original) {