Skip to content

Commit 1788de0

Browse files
committed
gateway proxy http client now use ProxySelectorRoutePlanner : this allow
end-users to set proxy using system properties example: -Dhttps.proxyHost=proxy -Dhttps.proxyPort=3128
1 parent bab3a0d commit 1788de0

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

src/com/microsoft/azure/documentdb/GatewayProxy.java

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
import java.io.IOException;
88
import java.io.UnsupportedEncodingException;
9+
import java.net.ProxySelector;
910
import java.net.URI;
1011
import java.net.URISyntaxException;
1112
import java.net.URLEncoder;
@@ -20,6 +21,9 @@
2021

2122
import org.apache.http.Header;
2223
import org.apache.http.HttpEntity;
24+
import org.apache.http.HttpException;
25+
import org.apache.http.HttpHost;
26+
import org.apache.http.HttpRequest;
2327
import org.apache.http.HttpResponse;
2428
import org.apache.http.ParseException;
2529
import org.apache.http.client.HttpClient;
@@ -28,11 +32,16 @@
2832
import org.apache.http.client.methods.HttpPost;
2933
import org.apache.http.client.methods.HttpPut;
3034
import org.apache.http.client.methods.HttpRequestBase;
35+
import org.apache.http.conn.routing.HttpRoute;
36+
import org.apache.http.conn.routing.HttpRoutePlanner;
37+
import org.apache.http.conn.scheme.SchemeRegistry;
3138
import org.apache.http.impl.client.DefaultHttpClient;
3239
import org.apache.http.impl.conn.PoolingClientConnectionManager;
40+
import org.apache.http.impl.conn.ProxySelectorRoutePlanner;
3341
import org.apache.http.impl.conn.SchemeRegistryFactory;
3442
import org.apache.http.params.HttpConnectionParams;
3543
import org.apache.http.params.HttpParams;
44+
import org.apache.http.protocol.HttpContext;
3645
import org.apache.http.util.EntityUtils;
3746

3847

@@ -154,7 +163,13 @@ private HttpClient getHttpClient(boolean isForMedia) {
154163
* @return the created HttpClient
155164
*/
156165
private HttpClient createHttpClient(boolean isForMedia) {
157-
HttpClient httpClient = new DefaultHttpClient(this.connectionManager);
166+
ProxySelectorRoutePlanner ps = new ProxySelectorRoutePlanner(
167+
SchemeRegistryFactory.createDefault(), ProxySelector.getDefault());
168+
169+
DefaultHttpClient defaultHttpClient = new DefaultHttpClient(this.connectionManager);
170+
defaultHttpClient.setRoutePlanner(ps);
171+
172+
HttpClient httpClient = defaultHttpClient;
158173
HttpParams httpParams = httpClient.getParams();
159174

160175
if (isForMedia) {

0 commit comments

Comments
 (0)