Skip to content

Commit c041a2d

Browse files
author
Stephane Landelle
committed
Backport AsyncHttpClient#476 on 1.8.x
1 parent f361e3d commit c041a2d

37 files changed

+1741
-1499
lines changed

src/main/java/com/ning/http/client/AsyncHttpClient.java

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,6 @@
1616
*/
1717
package com.ning.http.client;
1818

19-
import com.ning.http.client.Request.EntityWriter;
20-
import com.ning.http.client.filter.FilterContext;
21-
import com.ning.http.client.filter.FilterException;
22-
import com.ning.http.client.filter.RequestFilter;
23-
import com.ning.http.client.providers.jdk.JDKAsyncHttpProvider;
24-
import com.ning.http.client.resumable.ResumableAsyncHandler;
25-
import org.slf4j.Logger;
26-
import org.slf4j.LoggerFactory;
27-
2819
import java.io.Closeable;
2920
import java.io.IOException;
3021
import java.io.InputStream;
@@ -36,6 +27,17 @@
3627
import java.util.concurrent.Future;
3728
import java.util.concurrent.atomic.AtomicBoolean;
3829

30+
import org.slf4j.Logger;
31+
import org.slf4j.LoggerFactory;
32+
33+
import com.ning.http.client.Request.EntityWriter;
34+
import com.ning.http.client.cookie.Cookie;
35+
import com.ning.http.client.filter.FilterContext;
36+
import com.ning.http.client.filter.FilterException;
37+
import com.ning.http.client.filter.RequestFilter;
38+
import com.ning.http.client.providers.jdk.JDKAsyncHttpProvider;
39+
import com.ning.http.client.resumable.ResumableAsyncHandler;
40+
3941
/**
4042
* This class support asynchronous and synchronous HTTP request.
4143
* <p/>

src/main/java/com/ning/http/client/AsyncHttpClientConfig.java

Lines changed: 13 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*/
1616
package com.ning.http.client;
1717

18+
import com.ning.http.client.date.TimeConverter;
1819
import com.ning.http.client.filter.IOExceptionFilter;
1920
import com.ning.http.client.filter.RequestFilter;
2021
import com.ning.http.client.filter.ResponseFilter;
@@ -24,6 +25,7 @@
2425
import javax.net.ssl.HostnameVerifier;
2526
import javax.net.ssl.SSLContext;
2627
import javax.net.ssl.SSLEngine;
28+
2729
import java.security.GeneralSecurityException;
2830
import java.util.Collections;
2931
import java.util.LinkedList;
@@ -84,7 +86,7 @@ public class AsyncHttpClientConfig {
8486
protected boolean strict302Handling;
8587
protected boolean useRelativeURIsWithSSLProxies;
8688
protected int maxConnectionLifeTimeInMs;
87-
protected boolean rfc6265CookieEncoding;
89+
protected TimeConverter timeConverter;
8890

8991
protected AsyncHttpClientConfig() {
9092
}
@@ -120,7 +122,7 @@ private AsyncHttpClientConfig(int maxTotalConnections,
120122
int ioThreadMultiplier,
121123
boolean strict302Handling,
122124
boolean useRelativeURIsWithSSLProxies,
123-
boolean rfc6265CookieEncoding) {
125+
TimeConverter timeConverter) {
124126

125127
this.maxTotalConnections = maxTotalConnections;
126128
this.maxConnectionPerHost = maxConnectionPerHost;
@@ -151,7 +153,6 @@ private AsyncHttpClientConfig(int maxTotalConnections,
151153
this.ioThreadMultiplier = ioThreadMultiplier;
152154
this.strict302Handling = strict302Handling;
153155
this.useRelativeURIsWithSSLProxies = useRelativeURIsWithSSLProxies;
154-
this.rfc6265CookieEncoding = rfc6265CookieEncoding;
155156

156157
if (applicationThreadPool == null) {
157158
this.applicationThreadPool = Executors.newCachedThreadPool();
@@ -160,6 +161,7 @@ private AsyncHttpClientConfig(int maxTotalConnections,
160161
}
161162
this.proxyServerSelector = proxyServerSelector;
162163
this.useRawUrl = useRawUrl;
164+
this.timeConverter = timeConverter;
163165
}
164166

165167
/**
@@ -512,13 +514,10 @@ public int getMaxConnectionLifeTimeInMs() {
512514
}
513515

514516
/**
515-
* @return<code>true</code> if AHC should use rfc6265 for encoding client side cookies,
516-
* otherwise <code>false</code>.
517-
*
518-
* @since 1.7.18
517+
* @return 1.8.2
519518
*/
520-
public boolean isRfc6265CookieEncoding() {
521-
return rfc6265CookieEncoding;
519+
public TimeConverter getTimeConverter() {
520+
return timeConverter;
522521
}
523522

524523
/**
@@ -559,7 +558,7 @@ public static class Builder {
559558
private HostnameVerifier hostnameVerifier = new AllowAllHostnameVerifier();
560559
private int ioThreadMultiplier = 2;
561560
private boolean strict302Handling;
562-
private boolean rfc6265CookieEncoding;
561+
private TimeConverter timeConverter;
563562

564563
public Builder() {
565564
}
@@ -1029,17 +1028,8 @@ public Builder setMaxConnectionLifeTimeInMs(int maxConnectionLifeTimeInMs) {
10291028
return this;
10301029
}
10311030

1032-
/**
1033-
* Configures this AHC instance to use RFC 6265 cookie encoding style
1034-
*
1035-
* @param rfc6265CookieEncoding
1036-
* @return this
1037-
*
1038-
* @since 1.7.18
1039-
*/
1040-
public Builder setRfc6265CookieEncoding(boolean rfc6265CookieEncoding) {
1041-
this.rfc6265CookieEncoding = rfc6265CookieEncoding;
1042-
return this;
1031+
public void setTimeConverter(TimeConverter timeConverter) {
1032+
this.timeConverter = timeConverter;
10431033
}
10441034

10451035
/**
@@ -1084,7 +1074,7 @@ public Builder(AsyncHttpClientConfig prototype) {
10841074
removeQueryParamOnRedirect = prototype.isRemoveQueryParamOnRedirect();
10851075
hostnameVerifier = prototype.getHostnameVerifier();
10861076
strict302Handling = prototype.isStrict302Handling();
1087-
rfc6265CookieEncoding = prototype.isRfc6265CookieEncoding();
1077+
timeConverter = prototype.timeConverter;
10881078
}
10891079

10901080
/**
@@ -1149,7 +1139,7 @@ public Thread newThread(Runnable r) {
11491139
ioThreadMultiplier,
11501140
strict302Handling,
11511141
useRelativeURIsWithSSLProxies,
1152-
rfc6265CookieEncoding);
1142+
timeConverter);
11531143
}
11541144
}
11551145
}

0 commit comments

Comments
 (0)