You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2014/12/23 20:02:53 UTC
svn commit: r1647644 - in
/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http:
client/config/CookieSpecs.java impl/client/HttpClientBuilder.java
Author: olegk
Date: Tue Dec 23 19:02:53 2014
New Revision: 1647644
URL: http://svn.apache.org/r1647644
Log:
Use RFC 6265 cookie spec as standard policy
Modified:
httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/client/config/CookieSpecs.java
httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/client/HttpClientBuilder.java
Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/client/config/CookieSpecs.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/client/config/CookieSpecs.java?rev=1647644&r1=1647643&r2=1647644&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/client/config/CookieSpecs.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/client/config/CookieSpecs.java Tue Dec 23 19:02:53 2014
@@ -52,11 +52,18 @@ public final class CookieSpecs {
public static final String NETSCAPE = "netscape";
/**
- * The RFC 2965 compliant policy (standard).
+ * The RFC 6265 compliant policy (interoprability profile).
*/
public static final String STANDARD = "standard";
/**
+ * The RFC 6265 compliant policy (strict profile).
+ *
+ * @since 4.4
+ */
+ public static final String STANDARD_STRICT = "standard-strict";
+
+ /**
* The default 'best match' policy.
*
* @deprecated (4.4) use {link #DEFAULT}.
Modified: httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/client/HttpClientBuilder.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/client/HttpClientBuilder.java?rev=1647644&r1=1647643&r2=1647644&view=diff
==============================================================================
--- httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/client/HttpClientBuilder.java (original)
+++ httpcomponents/httpclient/trunk/httpclient/src/main/java/org/apache/http/impl/client/HttpClientBuilder.java Tue Dec 23 19:02:53 2014
@@ -102,7 +102,7 @@ import org.apache.http.impl.conn.SystemD
import org.apache.http.impl.cookie.DefaultCookieSpecProvider;
import org.apache.http.impl.cookie.IgnoreSpecProvider;
import org.apache.http.impl.cookie.NetscapeDraftSpecProvider;
-import org.apache.http.impl.cookie.RFC2965SpecProvider;
+import org.apache.http.impl.cookie.RFC6265CookieSpecProvider;
import org.apache.http.impl.execchain.BackoffStrategyExec;
import org.apache.http.impl.execchain.ClientExecChain;
import org.apache.http.impl.execchain.MainClientExec;
@@ -1127,9 +1127,17 @@ public class HttpClientBuilder {
}
Lookup<CookieSpecProvider> cookieSpecRegistryCopy = this.cookieSpecRegistry;
if (cookieSpecRegistryCopy == null) {
+ final CookieSpecProvider defaultProvider = new DefaultCookieSpecProvider(publicSuffixMatcherCopy);
+ final CookieSpecProvider laxStandardProvider = new RFC6265CookieSpecProvider(
+ RFC6265CookieSpecProvider.CompatibilityLevel.RELAXED, publicSuffixMatcherCopy);
+ final CookieSpecProvider strictStandardProvider = new RFC6265CookieSpecProvider(
+ RFC6265CookieSpecProvider.CompatibilityLevel.STRICT, publicSuffixMatcherCopy);
cookieSpecRegistryCopy = RegistryBuilder.<CookieSpecProvider>create()
- .register(CookieSpecs.DEFAULT, new DefaultCookieSpecProvider(publicSuffixMatcherCopy))
- .register(CookieSpecs.STANDARD, new RFC2965SpecProvider(publicSuffixMatcherCopy))
+ .register(CookieSpecs.DEFAULT, defaultProvider)
+ .register("best-match", defaultProvider)
+ .register("compatibility", defaultProvider)
+ .register(CookieSpecs.STANDARD, laxStandardProvider)
+ .register(CookieSpecs.STANDARD_STRICT, strictStandardProvider)
.register(CookieSpecs.NETSCAPE, new NetscapeDraftSpecProvider())
.register(CookieSpecs.IGNORE_COOKIES, new IgnoreSpecProvider())
.build();