Skip to content

Commit 1954575

Browse files
authored
Restore the ApacheHttpRequest implementation. (#641)
The RequestConfig class is an API from the newer Apache HttpClient 4.5.x clients.
1 parent 249ddec commit 1954575

File tree

1 file changed

+11
-9
lines changed

1 file changed

+11
-9
lines changed

google-http-client/src/main/java/com/google/api/client/http/apache/ApacheHttpRequest.java

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,21 +20,22 @@
2020
import java.io.IOException;
2121
import org.apache.http.HttpEntityEnclosingRequest;
2222
import org.apache.http.client.HttpClient;
23-
import org.apache.http.client.config.RequestConfig;
2423
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;
2527

26-
/** @author Yaniv Inbar */
28+
/**
29+
* @author Yaniv Inbar
30+
*/
2731
final class ApacheHttpRequest extends LowLevelHttpRequest {
2832
private final HttpClient httpClient;
2933

3034
private final HttpRequestBase request;
3135

32-
private RequestConfig.Builder requestConfig;
33-
3436
ApacheHttpRequest(HttpClient httpClient, HttpRequestBase request) {
3537
this.httpClient = httpClient;
3638
this.request = request;
37-
this.requestConfig = RequestConfig.custom().setRedirectsEnabled(false);
3839
}
3940

4041
@Override
@@ -44,22 +45,23 @@ public void addHeader(String name, String value) {
4445

4546
@Override
4647
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);
4852
}
4953

5054
@Override
5155
public LowLevelHttpResponse execute() throws IOException {
5256
if (getStreamingContent() != null) {
53-
Preconditions.checkArgument(
54-
request instanceof HttpEntityEnclosingRequest,
57+
Preconditions.checkArgument(request instanceof HttpEntityEnclosingRequest,
5558
"Apache HTTP client does not support %s requests with content.",
5659
request.getRequestLine().getMethod());
5760
ContentEntity entity = new ContentEntity(getContentLength(), getStreamingContent());
5861
entity.setContentEncoding(getContentEncoding());
5962
entity.setContentType(getContentType());
6063
((HttpEntityEnclosingRequest) request).setEntity(entity);
6164
}
62-
request.setConfig(requestConfig.build());
6365
return new ApacheHttpResponse(request, httpClient.execute(request));
6466
}
6567
}

0 commit comments

Comments
 (0)