|
|
|
|
@ -16,7 +16,6 @@
@@ -16,7 +16,6 @@
|
|
|
|
|
|
|
|
|
|
package org.springframework.boot.web.client; |
|
|
|
|
|
|
|
|
|
import java.io.IOException; |
|
|
|
|
import java.net.URI; |
|
|
|
|
import java.time.Duration; |
|
|
|
|
|
|
|
|
|
@ -162,6 +161,18 @@ class ClientHttpRequestFactoriesTests {
@@ -162,6 +161,18 @@ class ClientHttpRequestFactoriesTests {
|
|
|
|
|
assertThat(requestFactory).hasFieldOrPropertyWithValue("readTimeout", 1234); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
void reflectiveShouldFavorDurationTimeoutMethods() { |
|
|
|
|
IntAndDurationTimeoutsClientHttpRequestFactory requestFactory = ClientHttpRequestFactories.get( |
|
|
|
|
IntAndDurationTimeoutsClientHttpRequestFactory.class, |
|
|
|
|
ClientHttpRequestFactorySettings.DEFAULTS.withConnectTimeout(Duration.ofSeconds(1)) |
|
|
|
|
.withReadTimeout(Duration.ofSeconds(2))); |
|
|
|
|
assertThat((requestFactory).connectTimeout).isZero(); |
|
|
|
|
assertThat((requestFactory).readTimeout).isZero(); |
|
|
|
|
assertThat((requestFactory).connectTimeoutDuration).isEqualTo(Duration.ofSeconds(1)); |
|
|
|
|
assertThat((requestFactory).readTimeoutDuration).isEqualTo(Duration.ofSeconds(2)); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static class TestClientHttpRequestFactory implements ClientHttpRequestFactory { |
|
|
|
|
|
|
|
|
|
private int connectTimeout; |
|
|
|
|
@ -169,7 +180,7 @@ class ClientHttpRequestFactoriesTests {
@@ -169,7 +180,7 @@ class ClientHttpRequestFactoriesTests {
|
|
|
|
|
private int readTimeout; |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public ClientHttpRequest createRequest(URI uri, HttpMethod httpMethod) throws IOException { |
|
|
|
|
public ClientHttpRequest createRequest(URI uri, HttpMethod httpMethod) { |
|
|
|
|
throw new UnsupportedOperationException(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -186,7 +197,7 @@ class ClientHttpRequestFactoriesTests {
@@ -186,7 +197,7 @@ class ClientHttpRequestFactoriesTests {
|
|
|
|
|
public static class UnconfigurableClientHttpRequestFactory implements ClientHttpRequestFactory { |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public ClientHttpRequest createRequest(URI uri, HttpMethod httpMethod) throws IOException { |
|
|
|
|
public ClientHttpRequest createRequest(URI uri, HttpMethod httpMethod) { |
|
|
|
|
throw new UnsupportedOperationException(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -195,7 +206,7 @@ class ClientHttpRequestFactoriesTests {
@@ -195,7 +206,7 @@ class ClientHttpRequestFactoriesTests {
|
|
|
|
|
public static class DeprecatedMethodsClientHttpRequestFactory implements ClientHttpRequestFactory { |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public ClientHttpRequest createRequest(URI uri, HttpMethod httpMethod) throws IOException { |
|
|
|
|
public ClientHttpRequest createRequest(URI uri, HttpMethod httpMethod) { |
|
|
|
|
throw new UnsupportedOperationException(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -213,4 +224,37 @@ class ClientHttpRequestFactoriesTests {
@@ -213,4 +224,37 @@ class ClientHttpRequestFactoriesTests {
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static class IntAndDurationTimeoutsClientHttpRequestFactory implements ClientHttpRequestFactory { |
|
|
|
|
|
|
|
|
|
private int readTimeout; |
|
|
|
|
|
|
|
|
|
private int connectTimeout; |
|
|
|
|
|
|
|
|
|
private Duration readTimeoutDuration; |
|
|
|
|
|
|
|
|
|
private Duration connectTimeoutDuration; |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public ClientHttpRequest createRequest(URI uri, HttpMethod httpMethod) { |
|
|
|
|
throw new UnsupportedOperationException(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public void setConnectTimeout(int timeout) { |
|
|
|
|
this.connectTimeout = timeout; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public void setReadTimeout(int timeout) { |
|
|
|
|
this.readTimeout = timeout; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public void setConnectTimeout(Duration timeout) { |
|
|
|
|
this.connectTimeoutDuration = timeout; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public void setReadTimeout(Duration timeout) { |
|
|
|
|
this.readTimeoutDuration = timeout; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|