@@ -91,6 +91,9 @@ public class ProxyServlet extends HttpServlet {
91
91
92
92
/** A integer parameter name to set the socket read timeout (millis) */
93
93
public static final String P_READTIMEOUT = "http.read.timeout" ;
94
+
95
+ /** A integer parameter name to set the connection request timeout (millis) */
96
+ public static final String P_CONNECTIONREQUESTTIMEOUT = "http.connectionrequest.timeout" ;
94
97
95
98
/** A boolean parameter whether to use JVM-defined system properties to configure various networking aspects. */
96
99
public static final String P_USESYSTEMPROPERTIES = "useSystemProperties" ;
@@ -114,6 +117,7 @@ public class ProxyServlet extends HttpServlet {
114
117
protected boolean useSystemProperties = true ;
115
118
protected int connectTimeout = -1 ;
116
119
protected int readTimeout = -1 ;
120
+ protected int connectionRequestTimeout = -1 ;
117
121
118
122
//These next 3 are cached here, and should only be referred to in initialization logic. See the
119
123
// ATTR_* parameters.
@@ -182,6 +186,11 @@ public void init() throws ServletException {
182
186
if (readTimeoutString != null ) {
183
187
this .readTimeout = Integer .parseInt (readTimeoutString );
184
188
}
189
+
190
+ String connectionRequestTimeout = getConfigParam (P_CONNECTIONREQUESTTIMEOUT );
191
+ if (connectionRequestTimeout != null ) {
192
+ this .connectionRequestTimeout = Integer .parseInt (connectionRequestTimeout );
193
+ }
185
194
186
195
String useSystemPropertiesString = getConfigParam (P_USESYSTEMPROPERTIES );
187
196
if (useSystemPropertiesString != null ) {
@@ -202,6 +211,7 @@ protected RequestConfig buildRequestConfig() {
202
211
.setCookieSpec (CookieSpecs .IGNORE_COOKIES ) // we handle them in the servlet instead
203
212
.setConnectTimeout (connectTimeout )
204
213
.setSocketTimeout (readTimeout )
214
+ .setConnectionRequestTimeout (connectionRequestTimeout )
205
215
.build ();
206
216
}
207
217
0 commit comments