RestTempalte customizer can return an instance of rest template; fixes gh-1440 (#1446)
This commit is contained in:
committed by
GitHub
parent
17832d433d
commit
2e6ae5d314
@@ -28,7 +28,7 @@ import org.springframework.web.client.RestTemplate;
|
||||
|
||||
/**
|
||||
* Default {@link ZipkinRestTemplateCustomizer} that provides the GZip compression if
|
||||
* {@link ZipkinProperties#compression} is enabled.
|
||||
* {@link ZipkinProperties#getCompression()} is enabled.
|
||||
*
|
||||
* @author Marcin Grzejszczak
|
||||
* @since 1.1.0
|
||||
@@ -42,10 +42,11 @@ public class DefaultZipkinRestTemplateCustomizer implements ZipkinRestTemplateCu
|
||||
}
|
||||
|
||||
@Override
|
||||
public void customize(RestTemplate restTemplate) {
|
||||
public RestTemplate customizeTemplate(RestTemplate restTemplate) {
|
||||
if (this.zipkinProperties.getCompression().isEnabled()) {
|
||||
restTemplate.getInterceptors().add(0, new GZipInterceptor());
|
||||
}
|
||||
return restTemplate;
|
||||
}
|
||||
|
||||
private class GZipInterceptor implements ClientHttpRequestInterceptor {
|
||||
|
||||
@@ -31,6 +31,25 @@ import org.springframework.web.client.RestTemplate;
|
||||
*/
|
||||
public interface ZipkinRestTemplateCustomizer {
|
||||
|
||||
void customize(RestTemplate restTemplate);
|
||||
/**
|
||||
* Customizes the {@link RestTemplate}.
|
||||
* @deprecated use
|
||||
* {@link ZipkinRestTemplateCustomizer#customizeTemplate(RestTemplate)}
|
||||
* @param restTemplate object to customize
|
||||
*/
|
||||
@Deprecated
|
||||
default void customize(RestTemplate restTemplate) {
|
||||
customizeTemplate(restTemplate);
|
||||
};
|
||||
|
||||
/**
|
||||
* Customizes the {@link RestTemplate} instance. Might return a new one if necessary.
|
||||
* @param restTemplate default object to customize
|
||||
* @return customized {@link RestTemplate} or a new object
|
||||
* @since 2.2.0
|
||||
*/
|
||||
default RestTemplate customizeTemplate(RestTemplate restTemplate) {
|
||||
return restTemplate;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -58,7 +58,7 @@ class ZipkinRestTemplateSenderConfiguration {
|
||||
public Sender restTemplateSender(ZipkinProperties zipkin,
|
||||
ZipkinRestTemplateCustomizer zipkinRestTemplateCustomizer) {
|
||||
RestTemplate restTemplate = new ZipkinRestTemplateWrapper(zipkin, this.extractor);
|
||||
zipkinRestTemplateCustomizer.customize(restTemplate);
|
||||
restTemplate = zipkinRestTemplateCustomizer.customizeTemplate(restTemplate);
|
||||
return new RestTemplateSender(restTemplate, zipkin.getBaseUrl(),
|
||||
zipkin.getEncoder());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user