Add customizer variant of requestFactorySettings
Add `requestFactorySettings` that accepts a `UnaryOperator` so that the existing `requestFactorySettings` can be customized rather than replaced. Closes gh-43258
This commit is contained in:
@@ -168,7 +168,7 @@ class TestRestTemplateTests {
|
||||
}
|
||||
|
||||
@Test
|
||||
void withSettingsUpdatesRedirectsForHttpComponents() {
|
||||
void withRequestFactorySettingsRedirectsForHttpComponents() {
|
||||
TestRestTemplate template = new TestRestTemplate();
|
||||
assertThat(getRequestConfig(template).isRedirectsEnabled()).isFalse();
|
||||
assertThat(getRequestConfig(template
|
||||
@@ -177,7 +177,7 @@ class TestRestTemplateTests {
|
||||
}
|
||||
|
||||
@Test
|
||||
void withSettingsUpdatesRedirectsForJdk() {
|
||||
void withRequestFactorySettingsRedirectsForJdk() {
|
||||
TestRestTemplate template = new TestRestTemplate(
|
||||
new RestTemplateBuilder().requestFactoryBuilder(ClientHttpRequestFactoryBuilder.jdk()));
|
||||
assertThat(getJdkHttpClient(template).followRedirects()).isEqualTo(Redirect.NORMAL);
|
||||
@@ -186,6 +186,16 @@ class TestRestTemplateTests {
|
||||
.followRedirects()).isEqualTo(Redirect.NEVER);
|
||||
}
|
||||
|
||||
@Test
|
||||
void withRequestFactorySettingsUpdateRedirectsForJdk() {
|
||||
TestRestTemplate template = new TestRestTemplate(
|
||||
new RestTemplateBuilder().requestFactoryBuilder(ClientHttpRequestFactoryBuilder.jdk()));
|
||||
assertThat(getJdkHttpClient(template).followRedirects()).isEqualTo(Redirect.NORMAL);
|
||||
assertThat(getJdkHttpClient(
|
||||
template.withRequestFactorySettings((settings) -> settings.withRedirects(Redirects.DONT_FOLLOW)))
|
||||
.followRedirects()).isEqualTo(Redirect.NEVER);
|
||||
}
|
||||
|
||||
private RequestConfig getRequestConfig(RestTemplateBuilder builder, HttpClientOption... httpClientOptions) {
|
||||
builder = (builder != null) ? builder : new RestTemplateBuilder();
|
||||
TestRestTemplate template = new TestRestTemplate(builder, null, null, httpClientOptions);
|
||||
|
||||
Reference in New Issue
Block a user