18
18
19
19
import java .io .InputStreamReader ;
20
20
import java .net .URI ;
21
+ import java .time .Duration ;
21
22
import java .util .stream .Stream ;
22
23
23
24
import org .apache .hc .client5 .http .classic .HttpClient ;
@@ -66,6 +67,7 @@ void assertCustomConfig() throws Exception {
66
67
HttpComponentsClientHttpRequestFactory hrf = new HttpComponentsClientHttpRequestFactory (httpClient );
67
68
hrf .setConnectTimeout (1234 );
68
69
hrf .setConnectionRequestTimeout (4321 );
70
+ hrf .setReadTimeout (5678 );
69
71
70
72
URI uri = URI .create (baseUrl + "/status/ok" );
71
73
HttpComponentsClientHttpRequest request = (HttpComponentsClientHttpRequest ) hrf .createRequest (uri , HttpMethod .GET );
@@ -76,6 +78,7 @@ void assertCustomConfig() throws Exception {
76
78
RequestConfig requestConfig = (RequestConfig ) config ;
77
79
assertThat (requestConfig .getConnectTimeout ()).as ("Wrong custom connection timeout" ).isEqualTo (Timeout .of (1234 , MILLISECONDS ));
78
80
assertThat (requestConfig .getConnectionRequestTimeout ()).as ("Wrong custom connection request timeout" ).isEqualTo (Timeout .of (4321 , MILLISECONDS ));
81
+ assertThat (requestConfig .getResponseTimeout ()).as ("Wrong custom response timeout" ).isEqualTo (Timeout .of (5678 , MILLISECONDS ));
79
82
}
80
83
81
84
@ Test
@@ -105,6 +108,7 @@ void localSettingsOverrideClientDefaultSettings() throws Exception {
105
108
RequestConfig defaultConfig = RequestConfig .custom ()
106
109
.setConnectTimeout (1234 , MILLISECONDS )
107
110
.setConnectionRequestTimeout (6789 , MILLISECONDS )
111
+ .setResponseTimeout (4321 , MILLISECONDS )
108
112
.build ();
109
113
CloseableHttpClient client = mock (CloseableHttpClient .class ,
110
114
withSettings ().extraInterfaces (Configurable .class ));
@@ -113,10 +117,12 @@ void localSettingsOverrideClientDefaultSettings() throws Exception {
113
117
114
118
HttpComponentsClientHttpRequestFactory hrf = new HttpComponentsClientHttpRequestFactory (client );
115
119
hrf .setConnectTimeout (5000 );
120
+ hrf .setReadTimeout (Duration .ofMillis (4000 ));
116
121
117
122
RequestConfig requestConfig = retrieveRequestConfig (hrf );
118
123
assertThat (requestConfig .getConnectTimeout ()).isEqualTo (Timeout .of (5000 , MILLISECONDS ));
119
124
assertThat (requestConfig .getConnectionRequestTimeout ()).isEqualTo (Timeout .of (6789 , MILLISECONDS ));
125
+ assertThat (requestConfig .getResponseTimeout ()).isEqualTo (Timeout .of (4000 , MILLISECONDS ));
120
126
}
121
127
122
128
@ Test
@@ -141,15 +147,18 @@ public HttpClient getHttpClient() {
141
147
RequestConfig requestConfig = retrieveRequestConfig (hrf );
142
148
assertThat (requestConfig .getConnectionRequestTimeout ()).isEqualTo (Timeout .of (5000 , MILLISECONDS ));
143
149
assertThat (requestConfig .getConnectTimeout ()).isEqualTo (RequestConfig .DEFAULT .getConnectTimeout ());
150
+ assertThat (requestConfig .getResponseTimeout ()).isEqualTo (RequestConfig .DEFAULT .getResponseTimeout ());
144
151
145
152
// Update the Http client so that it returns an updated config
146
153
RequestConfig updatedDefaultConfig = RequestConfig .custom ()
147
154
.setConnectTimeout (1234 , MILLISECONDS ).build ();
148
155
given (configurable .getConfig ()).willReturn (updatedDefaultConfig );
149
156
hrf .setConnectionRequestTimeout (7000 );
157
+ hrf .setReadTimeout (4000 );
150
158
RequestConfig requestConfig2 = retrieveRequestConfig (hrf );
151
159
assertThat (requestConfig2 .getConnectTimeout ()).isEqualTo (Timeout .of (1234 , MILLISECONDS ));
152
160
assertThat (requestConfig2 .getConnectionRequestTimeout ()).isEqualTo (Timeout .of (7000 , MILLISECONDS ));
161
+ assertThat (requestConfig2 .getResponseTimeout ()).isEqualTo (Timeout .of (4000 , MILLISECONDS ));
153
162
}
154
163
155
164
@ ParameterizedTest
0 commit comments