20
20
import java .io .IOException ;
21
21
import org .apache .http .HttpEntityEnclosingRequest ;
22
22
import org .apache .http .client .HttpClient ;
23
- import org .apache .http .client .config .RequestConfig ;
24
23
import org .apache .http .client .methods .HttpRequestBase ;
24
+ import org .apache .http .conn .params .ConnManagerParams ;
25
+ import org .apache .http .params .HttpConnectionParams ;
26
+ import org .apache .http .params .HttpParams ;
25
27
26
- /** @author Yaniv Inbar */
28
+ /**
29
+ * @author Yaniv Inbar
30
+ */
27
31
final class ApacheHttpRequest extends LowLevelHttpRequest {
28
32
private final HttpClient httpClient ;
29
33
30
34
private final HttpRequestBase request ;
31
35
32
- private RequestConfig .Builder requestConfig ;
33
-
34
36
ApacheHttpRequest (HttpClient httpClient , HttpRequestBase request ) {
35
37
this .httpClient = httpClient ;
36
38
this .request = request ;
37
- this .requestConfig = RequestConfig .custom ().setRedirectsEnabled (false );
38
39
}
39
40
40
41
@ Override
@@ -44,22 +45,23 @@ public void addHeader(String name, String value) {
44
45
45
46
@ Override
46
47
public void setTimeout (int connectTimeout , int readTimeout ) throws IOException {
47
- requestConfig .setConnectionRequestTimeout (connectTimeout ).setSocketTimeout (readTimeout );
48
+ HttpParams params = request .getParams ();
49
+ ConnManagerParams .setTimeout (params , connectTimeout );
50
+ HttpConnectionParams .setConnectionTimeout (params , connectTimeout );
51
+ HttpConnectionParams .setSoTimeout (params , readTimeout );
48
52
}
49
53
50
54
@ Override
51
55
public LowLevelHttpResponse execute () throws IOException {
52
56
if (getStreamingContent () != null ) {
53
- Preconditions .checkArgument (
54
- request instanceof HttpEntityEnclosingRequest ,
57
+ Preconditions .checkArgument (request instanceof HttpEntityEnclosingRequest ,
55
58
"Apache HTTP client does not support %s requests with content." ,
56
59
request .getRequestLine ().getMethod ());
57
60
ContentEntity entity = new ContentEntity (getContentLength (), getStreamingContent ());
58
61
entity .setContentEncoding (getContentEncoding ());
59
62
entity .setContentType (getContentType ());
60
63
((HttpEntityEnclosingRequest ) request ).setEntity (entity );
61
64
}
62
- request .setConfig (requestConfig .build ());
63
65
return new ApacheHttpResponse (request , httpClient .execute (request ));
64
66
}
65
67
}
0 commit comments