You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by mi...@apache.org on 2020/01/06 11:55:49 UTC
[httpcomponents-client] branch cookiespecname-rework created (now
2b70672)
This is an automated email from the ASF dual-hosted git repository.
michaelo pushed a change to branch cookiespecname-rework
in repository https://gitbox.apache.org/repos/asf/httpcomponents-client.git.
at 2b70672 Rename CookieSpecs enum to StandardCookieSpec final class
This branch includes the following new commits:
new 2b70672 Rename CookieSpecs enum to StandardCookieSpec final class
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
[httpcomponents-client] 01/01: Rename CookieSpecs enum to
StandardCookieSpec final class
Posted by mi...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
michaelo pushed a commit to branch cookiespecname-rework
in repository https://gitbox.apache.org/repos/asf/httpcomponents-client.git
commit 2b70672134209b06cc698cefee77f55c653c9db1
Author: Michael Osipov <mi...@apache.org>
AuthorDate: Mon Jan 6 12:48:02 2020 +0100
Rename CookieSpecs enum to StandardCookieSpec final class
Modeled after StandardCharsets, the new class indicates a non-exhaustive
list of standard cookie specifications by name supported by the HttpClient.
The previous enum suffered from two issues:
* it was exhaustive implying that no more cookie specifications can be supported
* its sole purpose was to contain an id for the declared cookie specification;
the enum values theirselves were never used directly
This also reuses the naming approach of HttpMultipartMode of symbolic names for
implementation behavior.
This closes #197
---
.../{CookieSpecs.java => StandardCookieSpec.java} | 20 +++++++++-----------
.../hc/client5/http/impl/CookieSpecSupport.java | 8 ++++----
.../hc/client5/http/protocol/RequestAddCookies.java | 18 +++++++++---------
.../hc/client5/http/config/TestRequestConfig.java | 6 +++---
.../client5/http/examples/ClientConfiguration.java | 4 ++--
.../http/examples/ClientCustomPublicSuffixList.java | 8 ++++----
.../client5/http/protocol/TestRequestAddCookies.java | 10 +++++-----
7 files changed, 36 insertions(+), 38 deletions(-)
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/cookie/CookieSpecs.java b/httpclient5/src/main/java/org/apache/hc/client5/http/cookie/StandardCookieSpec.java
similarity index 82%
rename from httpclient5/src/main/java/org/apache/hc/client5/http/cookie/CookieSpecs.java
rename to httpclient5/src/main/java/org/apache/hc/client5/http/cookie/StandardCookieSpec.java
index aac85e0..9e1d467 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/cookie/CookieSpecs.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/cookie/StandardCookieSpec.java
@@ -28,33 +28,31 @@
package org.apache.hc.client5.http.cookie;
/**
- * Supported cookie specifications.
+ * Cookie specifications by their names supported by the HttpClient.
*
* @since 4.3
*/
-public enum CookieSpecs {
+public final class StandardCookieSpec {
+
+ private StandardCookieSpec() {
+ // no instances
+ }
/**
* The RFC 6265 compliant policy (interoprability profile).
*/
- STANDARD("standard"),
+ public static final String RELAXED = "relaxed";
/**
* The RFC 6265 compliant policy (strict profile).
*
* @since 4.4
*/
- STANDARD_STRICT("standard-strict"),
+ public static final String STRICT = "strict";
/**
* The policy that ignores cookies.
*/
- IGNORE_COOKIES("ignoreCookies");
-
- public final String id;
-
- CookieSpecs(final String id) {
- this.id = id;
- }
+ public static final String IGNORE = "ignore";
}
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/CookieSpecSupport.java b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/CookieSpecSupport.java
index 4ccbb09..bd233f2 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/CookieSpecSupport.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/CookieSpecSupport.java
@@ -27,7 +27,7 @@
package org.apache.hc.client5.http.impl;
-import org.apache.hc.client5.http.cookie.CookieSpecs;
+import org.apache.hc.client5.http.cookie.StandardCookieSpec;
import org.apache.hc.client5.http.cookie.CookieSpecFactory;
import org.apache.hc.client5.http.impl.cookie.IgnoreCookieSpecFactory;
import org.apache.hc.client5.http.impl.cookie.RFC6265CookieSpecFactory;
@@ -50,11 +50,11 @@ public final class CookieSpecSupport {
*/
public static RegistryBuilder<CookieSpecFactory> createDefaultBuilder(final PublicSuffixMatcher publicSuffixMatcher) {
return RegistryBuilder.<CookieSpecFactory>create()
- .register(CookieSpecs.STANDARD.id, new RFC6265CookieSpecFactory(
+ .register(StandardCookieSpec.RELAXED, new RFC6265CookieSpecFactory(
RFC6265CookieSpecFactory.CompatibilityLevel.RELAXED, publicSuffixMatcher))
- .register(CookieSpecs.STANDARD_STRICT.id, new RFC6265CookieSpecFactory(
+ .register(StandardCookieSpec.STRICT, new RFC6265CookieSpecFactory(
RFC6265CookieSpecFactory.CompatibilityLevel.STRICT, publicSuffixMatcher))
- .register(CookieSpecs.IGNORE_COOKIES.id, new IgnoreCookieSpecFactory());
+ .register(StandardCookieSpec.IGNORE, new IgnoreCookieSpecFactory());
}
/**
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/protocol/RequestAddCookies.java b/httpclient5/src/main/java/org/apache/hc/client5/http/protocol/RequestAddCookies.java
index a62daab..8f21c62 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/protocol/RequestAddCookies.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/protocol/RequestAddCookies.java
@@ -33,7 +33,7 @@ import java.util.Date;
import java.util.List;
import org.apache.hc.client5.http.RouteInfo;
-import org.apache.hc.client5.http.cookie.CookieSpecs;
+import org.apache.hc.client5.http.cookie.StandardCookieSpec;
import org.apache.hc.client5.http.config.RequestConfig;
import org.apache.hc.client5.http.cookie.Cookie;
import org.apache.hc.client5.http.cookie.CookieOrigin;
@@ -106,12 +106,12 @@ public class RequestAddCookies implements HttpRequestInterceptor {
}
final RequestConfig config = clientContext.getRequestConfig();
- String policy = config.getCookieSpec();
- if (policy == null) {
- policy = CookieSpecs.STANDARD.id;
+ String cookieSpecName = config.getCookieSpec();
+ if (cookieSpecName == null) {
+ cookieSpecName = StandardCookieSpec.STRICT;
}
if (this.log.isDebugEnabled()) {
- this.log.debug("CookieSpec selected: " + policy);
+ this.log.debug("Cookie spec selected: " + cookieSpecName);
}
final URIAuthority authority = request.getAuthority();
@@ -130,15 +130,15 @@ public class RequestAddCookies implements HttpRequestInterceptor {
final CookieOrigin cookieOrigin = new CookieOrigin(hostName, port, path, route.isSecure());
// Get an instance of the selected cookie policy
- final CookieSpecFactory provider = registry.lookup(policy);
- if (provider == null) {
+ final CookieSpecFactory factory = registry.lookup(cookieSpecName);
+ if (factory == null) {
if (this.log.isDebugEnabled()) {
- this.log.debug("Unsupported cookie policy: " + policy);
+ this.log.debug("Unsupported cookie spec: " + cookieSpecName);
}
return;
}
- final CookieSpec cookieSpec = provider.create(clientContext);
+ final CookieSpec cookieSpec = factory.create(clientContext);
// Get all cookies available in the HTTP state
final List<Cookie> cookies = cookieStore.getCookies();
// Find cookies matching the given origin
diff --git a/httpclient5/src/test/java/org/apache/hc/client5/http/config/TestRequestConfig.java b/httpclient5/src/test/java/org/apache/hc/client5/http/config/TestRequestConfig.java
index 1011fc3..e0035d8 100644
--- a/httpclient5/src/test/java/org/apache/hc/client5/http/config/TestRequestConfig.java
+++ b/httpclient5/src/test/java/org/apache/hc/client5/http/config/TestRequestConfig.java
@@ -31,7 +31,7 @@ import java.util.Collections;
import java.util.concurrent.TimeUnit;
import org.apache.hc.client5.http.auth.StandardAuthScheme;
-import org.apache.hc.client5.http.cookie.CookieSpecs;
+import org.apache.hc.client5.http.cookie.StandardCookieSpec;
import org.apache.hc.core5.http.HttpHost;
import org.apache.hc.core5.util.TimeValue;
import org.apache.hc.core5.util.Timeout;
@@ -73,7 +73,7 @@ public class TestRequestConfig {
.setRedirectsEnabled(false)
.setCircularRedirectsAllowed(true)
.setMaxRedirects(100)
- .setCookieSpec(CookieSpecs.STANDARD.id)
+ .setCookieSpec(StandardCookieSpec.STRICT)
.setProxy(new HttpHost("someproxy"))
.setTargetPreferredAuthSchemes(Collections.singletonList(StandardAuthScheme.NTLM))
.setProxyPreferredAuthSchemes(Collections.singletonList(StandardAuthScheme.DIGEST))
@@ -87,7 +87,7 @@ public class TestRequestConfig {
Assert.assertEquals(false, config.isRedirectsEnabled());
Assert.assertEquals(true, config.isCircularRedirectsAllowed());
Assert.assertEquals(100, config.getMaxRedirects());
- Assert.assertEquals(CookieSpecs.STANDARD.id, config.getCookieSpec());
+ Assert.assertEquals(StandardCookieSpec.STRICT, config.getCookieSpec());
Assert.assertEquals(new HttpHost("someproxy"), config.getProxy());
Assert.assertEquals(Collections.singletonList(StandardAuthScheme.NTLM), config.getTargetPreferredAuthSchemes());
Assert.assertEquals(Collections.singletonList(StandardAuthScheme.DIGEST), config.getProxyPreferredAuthSchemes());
diff --git a/httpclient5/src/test/java/org/apache/hc/client5/http/examples/ClientConfiguration.java b/httpclient5/src/test/java/org/apache/hc/client5/http/examples/ClientConfiguration.java
index 28effa4..721c40f 100644
--- a/httpclient5/src/test/java/org/apache/hc/client5/http/examples/ClientConfiguration.java
+++ b/httpclient5/src/test/java/org/apache/hc/client5/http/examples/ClientConfiguration.java
@@ -43,7 +43,7 @@ import org.apache.hc.client5.http.auth.CredentialsProvider;
import org.apache.hc.client5.http.classic.methods.HttpGet;
import org.apache.hc.client5.http.config.RequestConfig;
import org.apache.hc.client5.http.cookie.BasicCookieStore;
-import org.apache.hc.client5.http.cookie.CookieSpecs;
+import org.apache.hc.client5.http.cookie.StandardCookieSpec;
import org.apache.hc.client5.http.cookie.CookieStore;
import org.apache.hc.client5.http.impl.auth.BasicCredentialsProvider;
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
@@ -193,7 +193,7 @@ public class ClientConfiguration {
final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
// Create global request configuration
final RequestConfig defaultRequestConfig = RequestConfig.custom()
- .setCookieSpec(CookieSpecs.STANDARD.id)
+ .setCookieSpec(StandardCookieSpec.STRICT)
.setExpectContinueEnabled(true)
.setTargetPreferredAuthSchemes(Arrays.asList(StandardAuthScheme.NTLM, StandardAuthScheme.DIGEST))
.setProxyPreferredAuthSchemes(Arrays.asList(StandardAuthScheme.BASIC))
diff --git a/httpclient5/src/test/java/org/apache/hc/client5/http/examples/ClientCustomPublicSuffixList.java b/httpclient5/src/test/java/org/apache/hc/client5/http/examples/ClientCustomPublicSuffixList.java
index d75c2e6..b1e53d6 100644
--- a/httpclient5/src/test/java/org/apache/hc/client5/http/examples/ClientCustomPublicSuffixList.java
+++ b/httpclient5/src/test/java/org/apache/hc/client5/http/examples/ClientCustomPublicSuffixList.java
@@ -29,7 +29,7 @@ package org.apache.hc.client5.http.examples;
import java.net.URL;
import org.apache.hc.client5.http.classic.methods.HttpGet;
-import org.apache.hc.client5.http.cookie.CookieSpecs;
+import org.apache.hc.client5.http.cookie.StandardCookieSpec;
import org.apache.hc.client5.http.cookie.CookieSpecFactory;
import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse;
@@ -61,10 +61,10 @@ public class ClientCustomPublicSuffixList {
// Please use the publicsuffix.org URL to download the list no more than once per day !!!
// Please consider making a local copy !!!
- final RFC6265CookieSpecFactory cookieSpecProvider = new RFC6265CookieSpecFactory(publicSuffixMatcher);
+ final RFC6265CookieSpecFactory cookieSpecFactory = new RFC6265CookieSpecFactory(publicSuffixMatcher);
final Lookup<CookieSpecFactory> cookieSpecRegistry = RegistryBuilder.<CookieSpecFactory>create()
- .register(CookieSpecs.STANDARD.id, cookieSpecProvider)
- .register(CookieSpecs.STANDARD_STRICT.id, cookieSpecProvider)
+ .register(StandardCookieSpec.RELAXED, cookieSpecFactory)
+ .register(StandardCookieSpec.STRICT, cookieSpecFactory)
.build();
final SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(
SSLContexts.createDefault(),
diff --git a/httpclient5/src/test/java/org/apache/hc/client5/http/protocol/TestRequestAddCookies.java b/httpclient5/src/test/java/org/apache/hc/client5/http/protocol/TestRequestAddCookies.java
index 4c50d3f..edce0d1 100644
--- a/httpclient5/src/test/java/org/apache/hc/client5/http/protocol/TestRequestAddCookies.java
+++ b/httpclient5/src/test/java/org/apache/hc/client5/http/protocol/TestRequestAddCookies.java
@@ -31,7 +31,7 @@ import java.util.Date;
import org.apache.hc.client5.http.HttpRoute;
import org.apache.hc.client5.http.RouteInfo.LayerType;
import org.apache.hc.client5.http.RouteInfo.TunnelType;
-import org.apache.hc.client5.http.cookie.CookieSpecs;
+import org.apache.hc.client5.http.cookie.StandardCookieSpec;
import org.apache.hc.client5.http.config.RequestConfig;
import org.apache.hc.client5.http.cookie.BasicCookieStore;
import org.apache.hc.client5.http.cookie.CookieOrigin;
@@ -76,11 +76,11 @@ public class TestRequestAddCookies {
this.cookieStore.addCookie(cookie2);
this.cookieSpecRegistry = RegistryBuilder.<CookieSpecFactory>create()
- .register(CookieSpecs.STANDARD.id, new RFC6265CookieSpecFactory(
+ .register(StandardCookieSpec.RELAXED, new RFC6265CookieSpecFactory(
RFC6265CookieSpecFactory.CompatibilityLevel.RELAXED, null))
- .register(CookieSpecs.STANDARD_STRICT.id, new RFC6265CookieSpecFactory(
+ .register(StandardCookieSpec.STRICT, new RFC6265CookieSpecFactory(
RFC6265CookieSpecFactory.CompatibilityLevel.STRICT, null))
- .register(CookieSpecs.IGNORE_COOKIES.id, new IgnoreCookieSpecFactory())
+ .register(StandardCookieSpec.IGNORE, new IgnoreCookieSpecFactory())
.build();
}
@@ -203,7 +203,7 @@ public class TestRequestAddCookies {
public void testAddCookiesUsingExplicitCookieSpec() throws Exception {
final HttpRequest request = new BasicHttpRequest("GET", "/");
final RequestConfig config = RequestConfig.custom()
- .setCookieSpec(CookieSpecs.STANDARD_STRICT.id)
+ .setCookieSpec(StandardCookieSpec.STRICT)
.build();
final HttpRoute route = new HttpRoute(this.target, null, false);