Skip to content

Commit b583ca5

Browse files
author
Stephane Landelle
committed
Backport partial fix for AsyncHttpClient#254
1 parent 1b986fd commit b583ca5

File tree

3 files changed

+20
-15
lines changed

3 files changed

+20
-15
lines changed

src/main/java/com/ning/http/client/providers/jdk/JDKAsyncHttpProvider.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -492,7 +492,7 @@ private void configure(URI uri, HttpURLConnection urlConnection, Request request
492492
}
493493
}
494494

495-
String ka = config.getAllowPoolingConnection() ? "keep-alive" : "close";
495+
String ka = AsyncHttpProviderUtils.keepAliveHeaderValue(config);
496496
urlConnection.setRequestProperty("Connection", ka);
497497
ProxyServer proxyServer = ProxyUtils.getProxyServer(config, request);
498498
boolean avoidProxy = ProxyUtils.avoidProxy(proxyServer, uri.getHost());

src/main/java/com/ning/http/client/providers/netty/NettyAsyncHttpProvider.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -739,12 +739,12 @@ else if (uri.getRawQuery() != null)
739739
}
740740

741741
if (!webSocket && !request.getHeaders().containsKey(HttpHeaders.Names.CONNECTION)) {
742-
nettyRequest.setHeader(HttpHeaders.Names.CONNECTION, "keep-alive");
742+
nettyRequest.setHeader(HttpHeaders.Names.CONNECTION, AsyncHttpProviderUtils.keepAliveHeaderValue(config));
743743
}
744744

745745
if (proxyServer != null) {
746746
if (!request.getHeaders().containsKey("Proxy-Connection")) {
747-
nettyRequest.setHeader("Proxy-Connection", "keep-alive");
747+
nettyRequest.setHeader("Proxy-Connection", AsyncHttpProviderUtils.keepAliveHeaderValue(config));
748748
}
749749

750750
if (proxyServer.getPrincipal() != null) {

src/main/java/com/ning/http/util/AsyncHttpProviderUtils.java

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,19 @@
1212
*/
1313
package com.ning.http.util;
1414

15+
import java.io.ByteArrayInputStream;
16+
import java.io.FileNotFoundException;
17+
import java.io.IOException;
18+
import java.io.InputStream;
19+
import java.io.UnsupportedEncodingException;
20+
import java.net.URI;
21+
import java.text.ParseException;
22+
import java.text.SimpleDateFormat;
23+
import java.util.Collection;
24+
import java.util.List;
25+
import java.util.Locale;
26+
27+
import com.ning.http.client.AsyncHttpClientConfig;
1528
import com.ning.http.client.AsyncHttpProvider;
1629
import com.ning.http.client.ByteArrayPart;
1730
import com.ning.http.client.Cookie;
@@ -25,18 +38,6 @@
2538
import com.ning.http.multipart.MultipartRequestEntity;
2639
import com.ning.http.multipart.PartSource;
2740

28-
import java.io.ByteArrayInputStream;
29-
import java.io.FileNotFoundException;
30-
import java.io.IOException;
31-
import java.io.InputStream;
32-
import java.io.UnsupportedEncodingException;
33-
import java.net.URI;
34-
import java.text.ParseException;
35-
import java.text.SimpleDateFormat;
36-
import java.util.Collection;
37-
import java.util.List;
38-
import java.util.Locale;
39-
4041
/**
4142
* {@link com.ning.http.client.AsyncHttpProvider} common utilities.
4243
* <p/>
@@ -550,4 +551,8 @@ public static void checkBodyParts(int statusCode, Collection<HttpResponseBodyPar
550551
throw new IllegalStateException(BODY_NOT_COMPUTED);
551552
}
552553
}
554+
555+
public static String keepAliveHeaderValue(AsyncHttpClientConfig config) {
556+
return config.getAllowPoolingConnection() ? "keep-alive" : "close";
557+
}
553558
}

0 commit comments

Comments
 (0)