Allow overriding creating requests. Fixes gh-423.

This commit is contained in:
Olga Maciaszek-Sharma
2020-11-30 19:12:14 +01:00
parent 4d021fd3f8
commit 64d3f05e70
2 changed files with 12 additions and 6 deletions

View File

@@ -72,12 +72,15 @@ public class FeignBlockingLoadBalancerClient implements Client {
}
String reconstructedUrl = loadBalancerClient.reconstructURI(instance, originalUri)
.toString();
Request newRequest = Request.create(request.httpMethod(), reconstructedUrl,
request.headers(), request.body(), request.charset(),
request.requestTemplate());
Request newRequest = buildRequest(request, reconstructedUrl);
return delegate.execute(newRequest, options);
}
protected Request buildRequest(Request request, String reconstructedUrl) {
return Request.create(request.httpMethod(), reconstructedUrl, request.headers(),
request.body(), request.charset(), request.requestTemplate());
}
// Visible for Sleuth instrumentation
public Client getDelegate() {
return delegate;

View File

@@ -95,9 +95,7 @@ public class RetryableFeignBlockingLoadBalancerClient implements Client {
}
String reconstructedUrl = loadBalancerClient
.reconstructURI(serviceInstance, originalUri).toString();
feignRequest = Request.create(request.httpMethod(), reconstructedUrl,
request.headers(), request.body(), request.charset(),
request.requestTemplate());
feignRequest = buildRequest(request, reconstructedUrl);
}
}
if (feignRequest == null) {
@@ -127,6 +125,11 @@ public class RetryableFeignBlockingLoadBalancerClient implements Client {
});
}
protected Request buildRequest(Request request, String reconstructedUrl) {
return Request.create(request.httpMethod(), reconstructedUrl, request.headers(),
request.body(), request.charset(), request.requestTemplate());
}
private RetryTemplate buildRetryTemplate(String serviceId, Request request,
LoadBalancedRetryPolicy retryPolicy) {
RetryTemplate retryTemplate = new RetryTemplate();