You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by gg...@apache.org on 2019/12/31 16:27:24 UTC

[httpcomponents-client] branch master updated: [HTTPCLIENT-2043] Rename classes documented as factories from *Provider to *Factory (#194)

This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/httpcomponents-client.git


The following commit(s) were added to refs/heads/master by this push:
     new eaa8c5f  [HTTPCLIENT-2043] Rename classes documented as factories from *Provider to *Factory (#194)
eaa8c5f is described below

commit eaa8c5f648ada1ec30dff1ce0ef84020e4eb2378
Author: Gary Gregory <ga...@users.noreply.github.com>
AuthorDate: Tue Dec 31 11:27:16 2019 -0500

    [HTTPCLIENT-2043] Rename classes documented as factories from *Provider to *Factory (#194)
    
    This closes #194
---
 .../AbstractHttpAsyncClientAuthentication.java     |  8 +++----
 .../testing/async/TestH2ClientAuthentication.java  |  4 ++--
 .../async/TestHttp1ClientAuthentication.java       |  4 ++--
 .../testing/sync/TestClientAuthentication.java     |  4 ++--
 .../hc/client5/testing/sync/TestSPNegoScheme.java  | 14 ++++++------
 .../testing/sync/TestWindowsNegotiateScheme.java   |  6 ++---
 .../hc/client5/http/impl/win/WinHttpClients.java   |  4 ++--
 .../http/impl/win/WindowsNTLMSchemeFactory.java    |  6 ++---
 .../impl/win/WindowsNegotiateSchemeFactory.java    |  6 ++---
 ...hSchemeProvider.java => AuthSchemeFactory.java} |  2 +-
 ...kieSpecProvider.java => CookieSpecFactory.java} |  2 +-
 .../hc/client5/http/impl/CookieSpecSupport.java    | 26 +++++++++++-----------
 .../http/impl/DefaultAuthenticationStrategy.java   | 10 ++++-----
 .../http/impl/async/H2AsyncClientBuilder.java      | 18 +++++++--------
 .../http/impl/async/HttpAsyncClientBuilder.java    | 18 +++++++--------
 .../async/InternalAbstractHttpAsyncClient.java     | 12 +++++-----
 .../http/impl/async/InternalH2AsyncClient.java     |  8 +++----
 .../http/impl/async/InternalHttpAsyncClient.java   |  8 +++----
 .../client5/http/impl/auth/BasicSchemeFactory.java |  6 ++---
 .../http/impl/auth/DigestSchemeFactory.java        |  6 ++---
 .../http/impl/auth/KerberosSchemeFactory.java      |  6 ++---
 .../hc/client5/http/impl/auth/NTLMEngineImpl.java  |  6 ++---
 .../client5/http/impl/auth/NTLMSchemeFactory.java  |  6 ++---
 .../http/impl/auth/SPNegoSchemeFactory.java        |  6 ++---
 .../http/impl/classic/HttpClientBuilder.java       | 18 +++++++--------
 .../http/impl/classic/InternalHttpClient.java      | 12 +++++-----
 .../hc/client5/http/impl/classic/ProxyClient.java  |  6 ++---
 ...cProvider.java => IgnoreCookieSpecFactory.java} | 10 ++++-----
 .../{IgnoreSpec.java => IgnoreSpecSpec.java}       |  2 +-
 ...Provider.java => RFC6265CookieSpecFactory.java} | 12 +++++-----
 .../client5/http/protocol/HttpClientContext.java   | 20 ++++++++---------
 .../client5/http/protocol/RequestAddCookies.java   |  6 ++---
 .../examples/ClientCustomPublicSuffixList.java     |  8 +++----
 .../http/impl/TestAuthenticationStrategy.java      |  6 ++---
 .../http/impl/auth/TestHttpAuthenticator.java      |  6 ++---
 .../http/impl/classic/TestInternalHttpClient.java  | 12 +++++-----
 .../http/protocol/TestRequestAddCookies.java       | 20 ++++++++---------
 37 files changed, 167 insertions(+), 167 deletions(-)

diff --git a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/AbstractHttpAsyncClientAuthentication.java b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/AbstractHttpAsyncClientAuthentication.java
index 989344b..8746fc9 100644
--- a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/AbstractHttpAsyncClientAuthentication.java
+++ b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/AbstractHttpAsyncClientAuthentication.java
@@ -38,7 +38,7 @@ import org.apache.hc.client5.http.async.methods.SimpleHttpRequests;
 import org.apache.hc.client5.http.async.methods.SimpleHttpResponse;
 import org.apache.hc.client5.http.auth.AuthChallenge;
 import org.apache.hc.client5.http.auth.AuthScheme;
-import org.apache.hc.client5.http.auth.AuthSchemeProvider;
+import org.apache.hc.client5.http.auth.AuthSchemeFactory;
 import org.apache.hc.client5.http.auth.AuthSchemes;
 import org.apache.hc.client5.http.auth.AuthScope;
 import org.apache.hc.client5.http.auth.ChallengeType;
@@ -114,7 +114,7 @@ public abstract class AbstractHttpAsyncClientAuthentication<T extends CloseableH
         }
     }
 
-    abstract void setDefaultAuthSchemeRegistry(Lookup<AuthSchemeProvider> authSchemeRegistry);
+    abstract void setDefaultAuthSchemeRegistry(Lookup<AuthSchemeFactory> authSchemeRegistry);
 
     abstract void setTargetAuthenticationStrategy(AuthenticationStrategy targetAuthStrategy);
 
@@ -451,8 +451,8 @@ public abstract class AbstractHttpAsyncClientAuthentication<T extends CloseableH
         final TestCredentialsProvider credsProvider = new TestCredentialsProvider(
                 new UsernamePasswordCredentials("test", "test".toCharArray()));
 
-        final Registry<AuthSchemeProvider> authSchemeRegistry = RegistryBuilder.<AuthSchemeProvider>create()
-                .register("MyBasic", new AuthSchemeProvider() {
+        final Registry<AuthSchemeFactory> authSchemeRegistry = RegistryBuilder.<AuthSchemeFactory>create()
+                .register("MyBasic", new AuthSchemeFactory() {
 
                     @Override
                     public AuthScheme create(final HttpContext context) {
diff --git a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestH2ClientAuthentication.java b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestH2ClientAuthentication.java
index d209667..fa3a01b 100644
--- a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestH2ClientAuthentication.java
+++ b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestH2ClientAuthentication.java
@@ -30,7 +30,7 @@ import java.util.Arrays;
 import java.util.Collection;
 
 import org.apache.hc.client5.http.AuthenticationStrategy;
-import org.apache.hc.client5.http.auth.AuthSchemeProvider;
+import org.apache.hc.client5.http.auth.AuthSchemeFactory;
 import org.apache.hc.client5.http.config.RequestConfig;
 import org.apache.hc.client5.http.impl.async.CloseableHttpAsyncClient;
 import org.apache.hc.client5.http.impl.async.H2AsyncClientBuilder;
@@ -79,7 +79,7 @@ public class TestH2ClientAuthentication extends AbstractHttpAsyncClientAuthentic
     }
 
     @Override
-    void setDefaultAuthSchemeRegistry(final Lookup<AuthSchemeProvider> authSchemeRegistry) {
+    void setDefaultAuthSchemeRegistry(final Lookup<AuthSchemeFactory> authSchemeRegistry) {
         clientBuilder.setDefaultAuthSchemeRegistry(authSchemeRegistry);
     }
 
diff --git a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1ClientAuthentication.java b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1ClientAuthentication.java
index 5de96b0..84d2b14 100644
--- a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1ClientAuthentication.java
+++ b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/async/TestHttp1ClientAuthentication.java
@@ -33,7 +33,7 @@ import java.util.concurrent.Future;
 import org.apache.hc.client5.http.AuthenticationStrategy;
 import org.apache.hc.client5.http.async.methods.SimpleHttpRequests;
 import org.apache.hc.client5.http.async.methods.SimpleHttpResponse;
-import org.apache.hc.client5.http.auth.AuthSchemeProvider;
+import org.apache.hc.client5.http.auth.AuthSchemeFactory;
 import org.apache.hc.client5.http.auth.AuthScope;
 import org.apache.hc.client5.http.auth.UsernamePasswordCredentials;
 import org.apache.hc.client5.http.config.RequestConfig;
@@ -119,7 +119,7 @@ public class TestHttp1ClientAuthentication extends AbstractHttpAsyncClientAuthen
     }
 
     @Override
-    void setDefaultAuthSchemeRegistry(final Lookup<AuthSchemeProvider> authSchemeRegistry) {
+    void setDefaultAuthSchemeRegistry(final Lookup<AuthSchemeFactory> authSchemeRegistry) {
         clientBuilder.setDefaultAuthSchemeRegistry(authSchemeRegistry);
     }
 
diff --git a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/sync/TestClientAuthentication.java b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/sync/TestClientAuthentication.java
index 4e3f78e..348be75 100644
--- a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/sync/TestClientAuthentication.java
+++ b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/sync/TestClientAuthentication.java
@@ -38,7 +38,7 @@ import java.util.concurrent.atomic.AtomicLong;
 import org.apache.hc.client5.http.auth.AuthCache;
 import org.apache.hc.client5.http.auth.AuthChallenge;
 import org.apache.hc.client5.http.auth.AuthScheme;
-import org.apache.hc.client5.http.auth.AuthSchemeProvider;
+import org.apache.hc.client5.http.auth.AuthSchemeFactory;
 import org.apache.hc.client5.http.auth.AuthSchemes;
 import org.apache.hc.client5.http.auth.AuthScope;
 import org.apache.hc.client5.http.auth.ChallengeType;
@@ -652,7 +652,7 @@ public class TestClientAuthentication extends LocalServerTestBase {
         final RequestConfig config = RequestConfig.custom()
                 .setTargetPreferredAuthSchemes(Arrays.asList("MyBasic"))
                 .build();
-        final Registry<AuthSchemeProvider> authSchemeRegistry = RegistryBuilder.<AuthSchemeProvider>create()
+        final Registry<AuthSchemeFactory> authSchemeRegistry = RegistryBuilder.<AuthSchemeFactory>create()
                 .register("MyBasic", myBasicAuthSchemeFactory)
                 .build();
         this.httpclient = this.clientBuilder
diff --git a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/sync/TestSPNegoScheme.java b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/sync/TestSPNegoScheme.java
index 66d7d55..61c4cc9 100644
--- a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/sync/TestSPNegoScheme.java
+++ b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/sync/TestSPNegoScheme.java
@@ -31,7 +31,7 @@ import java.security.Principal;
 
 import org.apache.hc.client5.http.SystemDefaultDnsResolver;
 import org.apache.hc.client5.http.auth.AuthScheme;
-import org.apache.hc.client5.http.auth.AuthSchemeProvider;
+import org.apache.hc.client5.http.auth.AuthSchemeFactory;
 import org.apache.hc.client5.http.auth.AuthScope;
 import org.apache.hc.client5.http.auth.Credentials;
 import org.apache.hc.client5.http.auth.KerberosConfig;
@@ -130,11 +130,11 @@ public class TestSPNegoScheme extends LocalServerTestBase {
 
     }
 
-    private static class NegotiateSchemeProviderWithMockGssManager implements AuthSchemeProvider {
+    private static class NegotiateSchemeFactoryWithMockGssManager implements AuthSchemeFactory {
 
         NegotiateSchemeWithMockGssManager scheme;
 
-        NegotiateSchemeProviderWithMockGssManager() throws Exception {
+        NegotiateSchemeFactoryWithMockGssManager() throws Exception {
             scheme = new NegotiateSchemeWithMockGssManager();
         }
 
@@ -154,12 +154,12 @@ public class TestSPNegoScheme extends LocalServerTestBase {
         this.server.registerHandler("*", new PleaseNegotiateService());
         final HttpHost target = start();
 
-        final AuthSchemeProvider nsf = new NegotiateSchemeProviderWithMockGssManager();
+        final AuthSchemeFactory nsf = new NegotiateSchemeFactoryWithMockGssManager();
         final BasicCredentialsProvider credentialsProvider = new BasicCredentialsProvider();
         final Credentials use_jaas_creds = new UseJaasCredentials();
         credentialsProvider.setCredentials(new AuthScope(null, null, -1, null, null), use_jaas_creds);
 
-        final Registry<AuthSchemeProvider> authSchemeRegistry = RegistryBuilder.<AuthSchemeProvider>create()
+        final Registry<AuthSchemeFactory> authSchemeRegistry = RegistryBuilder.<AuthSchemeFactory>create()
             .register(AuthSchemes.SPNEGO.id, nsf)
             .build();
         this.httpclient = HttpClients.custom()
@@ -184,13 +184,13 @@ public class TestSPNegoScheme extends LocalServerTestBase {
         this.server.registerHandler("*", new PleaseNegotiateService());
         final HttpHost target = start();
 
-        final AuthSchemeProvider nsf = new NegotiateSchemeProviderWithMockGssManager();
+        final AuthSchemeFactory nsf = new NegotiateSchemeFactoryWithMockGssManager();
 
         final BasicCredentialsProvider credentialsProvider = new BasicCredentialsProvider();
         final Credentials use_jaas_creds = new UseJaasCredentials();
         credentialsProvider.setCredentials(new AuthScope(null, null, -1, null, null), use_jaas_creds);
 
-        final Registry<AuthSchemeProvider> authSchemeRegistry = RegistryBuilder.<AuthSchemeProvider>create()
+        final Registry<AuthSchemeFactory> authSchemeRegistry = RegistryBuilder.<AuthSchemeFactory>create()
             .register(AuthSchemes.SPNEGO.id, nsf)
             .build();
         this.httpclient = HttpClients.custom()
diff --git a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/sync/TestWindowsNegotiateScheme.java b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/sync/TestWindowsNegotiateScheme.java
index b28fe1a..10398f3 100644
--- a/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/sync/TestWindowsNegotiateScheme.java
+++ b/httpclient5-testing/src/test/java/org/apache/hc/client5/testing/sync/TestWindowsNegotiateScheme.java
@@ -29,7 +29,7 @@ package org.apache.hc.client5.testing.sync;
 import java.io.IOException;
 
 import org.apache.hc.client5.http.auth.AuthScheme;
-import org.apache.hc.client5.http.auth.AuthSchemeProvider;
+import org.apache.hc.client5.http.auth.AuthSchemeFactory;
 import org.apache.hc.client5.http.classic.methods.HttpGet;
 import org.apache.hc.client5.http.auth.AuthSchemes;
 import org.apache.hc.client5.http.impl.classic.CloseableHttpClient;
@@ -80,8 +80,8 @@ public class TestWindowsNegotiateScheme extends LocalServerTestBase {
         // come. This error message, "The system detected a possible attempt to compromise security. Please ensure that
         // you can contact the server that authenticated you." is associated with SEC_E_DOWNGRADE_DETECTED.
 
-        final Registry<AuthSchemeProvider> authSchemeRegistry = RegistryBuilder.<AuthSchemeProvider>create()
-            .register(AuthSchemes.SPNEGO.id, new AuthSchemeProvider() {
+        final Registry<AuthSchemeFactory> authSchemeRegistry = RegistryBuilder.<AuthSchemeFactory>create()
+            .register(AuthSchemes.SPNEGO.id, new AuthSchemeFactory() {
                 @Override
                 public AuthScheme create(final HttpContext context) {
                     return new WindowsNegotiateSchemeGetTokenFail(AuthSchemes.SPNEGO.id, "HTTP/example.com");
diff --git a/httpclient5-win/src/main/java/org/apache/hc/client5/http/impl/win/WinHttpClients.java b/httpclient5-win/src/main/java/org/apache/hc/client5/http/impl/win/WinHttpClients.java
index 1233279..89a7af9 100644
--- a/httpclient5-win/src/main/java/org/apache/hc/client5/http/impl/win/WinHttpClients.java
+++ b/httpclient5-win/src/main/java/org/apache/hc/client5/http/impl/win/WinHttpClients.java
@@ -28,7 +28,7 @@ package org.apache.hc.client5.http.impl.win;
 
 import java.util.Locale;
 
-import org.apache.hc.client5.http.auth.AuthSchemeProvider;
+import org.apache.hc.client5.http.auth.AuthSchemeFactory;
 import org.apache.hc.client5.http.auth.AuthSchemes;
 import org.apache.hc.client5.http.impl.auth.BasicSchemeFactory;
 import org.apache.hc.client5.http.impl.auth.DigestSchemeFactory;
@@ -66,7 +66,7 @@ public class WinHttpClients {
 
     private static HttpClientBuilder createBuilder() {
         if (isWinAuthAvailable()) {
-            final Registry<AuthSchemeProvider> authSchemeRegistry = RegistryBuilder.<AuthSchemeProvider>create()
+            final Registry<AuthSchemeFactory> authSchemeRegistry = RegistryBuilder.<AuthSchemeFactory>create()
                     .register(AuthSchemes.BASIC.id, new BasicSchemeFactory())
                     .register(AuthSchemes.DIGEST.id, new DigestSchemeFactory())
                     .register(AuthSchemes.NTLM.id, new WindowsNTLMSchemeFactory(null))
diff --git a/httpclient5-win/src/main/java/org/apache/hc/client5/http/impl/win/WindowsNTLMSchemeFactory.java b/httpclient5-win/src/main/java/org/apache/hc/client5/http/impl/win/WindowsNTLMSchemeFactory.java
index 0f5a522..cc08632 100644
--- a/httpclient5-win/src/main/java/org/apache/hc/client5/http/impl/win/WindowsNTLMSchemeFactory.java
+++ b/httpclient5-win/src/main/java/org/apache/hc/client5/http/impl/win/WindowsNTLMSchemeFactory.java
@@ -28,7 +28,7 @@
 package org.apache.hc.client5.http.impl.win;
 
 import org.apache.hc.client5.http.auth.AuthScheme;
-import org.apache.hc.client5.http.auth.AuthSchemeProvider;
+import org.apache.hc.client5.http.auth.AuthSchemeFactory;
 import org.apache.hc.client5.http.auth.AuthSchemes;
 import org.apache.hc.core5.annotation.Contract;
 import org.apache.hc.core5.annotation.Experimental;
@@ -36,14 +36,14 @@ import org.apache.hc.core5.annotation.ThreadingBehavior;
 import org.apache.hc.core5.http.protocol.HttpContext;
 
 /**
- * {@link AuthSchemeProvider} implementation that creates and initializes
+ * {@link AuthSchemeFactory} implementation that creates and initializes
  * {@link WindowsNegotiateScheme} using JNA to implement NTLM
  *
  * @since 4.4
  */
 @Contract(threading = ThreadingBehavior.STATELESS)
 @Experimental
-public class WindowsNTLMSchemeFactory implements AuthSchemeProvider {
+public class WindowsNTLMSchemeFactory implements AuthSchemeFactory {
 
     private final String servicePrincipalName;
 
diff --git a/httpclient5-win/src/main/java/org/apache/hc/client5/http/impl/win/WindowsNegotiateSchemeFactory.java b/httpclient5-win/src/main/java/org/apache/hc/client5/http/impl/win/WindowsNegotiateSchemeFactory.java
index 1cada0d..6348fb5 100644
--- a/httpclient5-win/src/main/java/org/apache/hc/client5/http/impl/win/WindowsNegotiateSchemeFactory.java
+++ b/httpclient5-win/src/main/java/org/apache/hc/client5/http/impl/win/WindowsNegotiateSchemeFactory.java
@@ -28,7 +28,7 @@
 package org.apache.hc.client5.http.impl.win;
 
 import org.apache.hc.client5.http.auth.AuthScheme;
-import org.apache.hc.client5.http.auth.AuthSchemeProvider;
+import org.apache.hc.client5.http.auth.AuthSchemeFactory;
 import org.apache.hc.client5.http.auth.AuthSchemes;
 import org.apache.hc.core5.annotation.Contract;
 import org.apache.hc.core5.annotation.Experimental;
@@ -36,14 +36,14 @@ import org.apache.hc.core5.annotation.ThreadingBehavior;
 import org.apache.hc.core5.http.protocol.HttpContext;
 
 /**
- * {@link AuthSchemeProvider} implementation that creates and initializes
+ * {@link AuthSchemeFactory} implementation that creates and initializes
  * {@link WindowsNegotiateScheme} using JNA to Negotiate credentials
  *
  *  @since 4.4
  */
 @Contract(threading = ThreadingBehavior.STATELESS)
 @Experimental
-public class WindowsNegotiateSchemeFactory implements AuthSchemeProvider {
+public class WindowsNegotiateSchemeFactory implements AuthSchemeFactory {
 
     private final String servicePrincipalName;
 
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/auth/AuthSchemeProvider.java b/httpclient5/src/main/java/org/apache/hc/client5/http/auth/AuthSchemeFactory.java
similarity index 97%
rename from httpclient5/src/main/java/org/apache/hc/client5/http/auth/AuthSchemeProvider.java
rename to httpclient5/src/main/java/org/apache/hc/client5/http/auth/AuthSchemeFactory.java
index f49982a..10769e9 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/auth/AuthSchemeProvider.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/auth/AuthSchemeFactory.java
@@ -34,7 +34,7 @@ import org.apache.hc.core5.http.protocol.HttpContext;
  *
  * @since 4.3
  */
-public interface AuthSchemeProvider {
+public interface AuthSchemeFactory {
 
     /**
      * Creates an instance of {@link AuthScheme}.
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/cookie/CookieSpecProvider.java b/httpclient5/src/main/java/org/apache/hc/client5/http/cookie/CookieSpecFactory.java
similarity index 97%
rename from httpclient5/src/main/java/org/apache/hc/client5/http/cookie/CookieSpecProvider.java
rename to httpclient5/src/main/java/org/apache/hc/client5/http/cookie/CookieSpecFactory.java
index 55a3f58..ee9b2ef 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/cookie/CookieSpecProvider.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/cookie/CookieSpecFactory.java
@@ -37,7 +37,7 @@ import org.apache.hc.core5.http.protocol.HttpContext;
  * @since 4.3
  */
 @Contract(threading = ThreadingBehavior.STATELESS)
-public interface CookieSpecProvider {
+public interface CookieSpecFactory {
 
     /**
      * Creates an instance of {@link CookieSpec}.
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 2114453..4ccbb09 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
@@ -28,9 +28,9 @@
 package org.apache.hc.client5.http.impl;
 
 import org.apache.hc.client5.http.cookie.CookieSpecs;
-import org.apache.hc.client5.http.cookie.CookieSpecProvider;
-import org.apache.hc.client5.http.impl.cookie.IgnoreSpecProvider;
-import org.apache.hc.client5.http.impl.cookie.RFC6265CookieSpecProvider;
+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;
 import org.apache.hc.client5.http.psl.PublicSuffixMatcher;
 import org.apache.hc.client5.http.psl.PublicSuffixMatcherLoader;
 import org.apache.hc.core5.annotation.Internal;
@@ -48,33 +48,33 @@ public final class CookieSpecSupport {
     /**
      * Creates a builder containing the default registry entries, using the provided public suffix matcher.
      */
-    public static RegistryBuilder<CookieSpecProvider> createDefaultBuilder(final PublicSuffixMatcher publicSuffixMatcher) {
-        return RegistryBuilder.<CookieSpecProvider>create()
-                .register(CookieSpecs.STANDARD.id, new RFC6265CookieSpecProvider(
-                        RFC6265CookieSpecProvider.CompatibilityLevel.RELAXED, publicSuffixMatcher))
-                .register(CookieSpecs.STANDARD_STRICT.id, new RFC6265CookieSpecProvider(
-                        RFC6265CookieSpecProvider.CompatibilityLevel.STRICT, publicSuffixMatcher))
-                .register(CookieSpecs.IGNORE_COOKIES.id, new IgnoreSpecProvider());
+    public static RegistryBuilder<CookieSpecFactory> createDefaultBuilder(final PublicSuffixMatcher publicSuffixMatcher) {
+        return RegistryBuilder.<CookieSpecFactory>create()
+                .register(CookieSpecs.STANDARD.id, new RFC6265CookieSpecFactory(
+                        RFC6265CookieSpecFactory.CompatibilityLevel.RELAXED, publicSuffixMatcher))
+                .register(CookieSpecs.STANDARD_STRICT.id, new RFC6265CookieSpecFactory(
+                        RFC6265CookieSpecFactory.CompatibilityLevel.STRICT, publicSuffixMatcher))
+                .register(CookieSpecs.IGNORE_COOKIES.id, new IgnoreCookieSpecFactory());
     }
 
     /**
      * Creates a builder containing the default registry entries with the default public suffix matcher.
      */
-    public static RegistryBuilder<CookieSpecProvider> createDefaultBuilder() {
+    public static RegistryBuilder<CookieSpecFactory> createDefaultBuilder() {
         return createDefaultBuilder(PublicSuffixMatcherLoader.getDefault());
     }
 
     /**
      * Creates the default registry, using the default public suffix matcher.
      */
-    public static Lookup<CookieSpecProvider> createDefault() {
+    public static Lookup<CookieSpecFactory> createDefault() {
         return createDefault(PublicSuffixMatcherLoader.getDefault());
     }
 
     /**
      * Creates the default registry with the provided public suffix matcher
      */
-    public static Lookup<CookieSpecProvider> createDefault(final PublicSuffixMatcher publicSuffixMatcher) {
+    public static Lookup<CookieSpecFactory> createDefault(final PublicSuffixMatcher publicSuffixMatcher) {
         return createDefaultBuilder(publicSuffixMatcher).build();
     }
 
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/DefaultAuthenticationStrategy.java b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/DefaultAuthenticationStrategy.java
index 97db9b9..87222ad 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/DefaultAuthenticationStrategy.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/DefaultAuthenticationStrategy.java
@@ -38,7 +38,7 @@ import java.util.Map;
 import org.apache.hc.client5.http.AuthenticationStrategy;
 import org.apache.hc.client5.http.auth.AuthChallenge;
 import org.apache.hc.client5.http.auth.AuthScheme;
-import org.apache.hc.client5.http.auth.AuthSchemeProvider;
+import org.apache.hc.client5.http.auth.AuthSchemeFactory;
 import org.apache.hc.client5.http.auth.AuthSchemes;
 import org.apache.hc.client5.http.auth.ChallengeType;
 import org.apache.hc.client5.http.config.RequestConfig;
@@ -82,7 +82,7 @@ public class DefaultAuthenticationStrategy implements AuthenticationStrategy {
         final HttpClientContext clientContext = HttpClientContext.adapt(context);
 
         final List<AuthScheme> options = new ArrayList<>();
-        final Lookup<AuthSchemeProvider> registry = clientContext.getAuthSchemeRegistry();
+        final Lookup<AuthSchemeFactory> registry = clientContext.getAuthSchemeRegistry();
         if (registry == null) {
             this.log.debug("Auth scheme registry not set in the context");
             return options;
@@ -100,15 +100,15 @@ public class DefaultAuthenticationStrategy implements AuthenticationStrategy {
         for (final String id: authPrefs) {
             final AuthChallenge challenge = challenges.get(id.toLowerCase(Locale.ROOT));
             if (challenge != null) {
-                final AuthSchemeProvider authSchemeProvider = registry.lookup(id);
-                if (authSchemeProvider == null) {
+                final AuthSchemeFactory authSchemeFactory = registry.lookup(id);
+                if (authSchemeFactory == null) {
                     if (this.log.isWarnEnabled()) {
                         this.log.warn("Authentication scheme " + id + " not supported");
                         // Try again
                     }
                     continue;
                 }
-                final AuthScheme authScheme = authSchemeProvider.create(context);
+                final AuthScheme authScheme = authSchemeFactory.create(context);
                 options.add(authScheme);
             } else {
                 if (this.log.isDebugEnabled()) {
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/H2AsyncClientBuilder.java b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/H2AsyncClientBuilder.java
index fe5e22b..adeb0bc 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/H2AsyncClientBuilder.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/H2AsyncClientBuilder.java
@@ -44,13 +44,13 @@ import org.apache.hc.client5.http.HttpRequestRetryStrategy;
 import org.apache.hc.client5.http.SchemePortResolver;
 import org.apache.hc.client5.http.SystemDefaultDnsResolver;
 import org.apache.hc.client5.http.async.AsyncExecChainHandler;
-import org.apache.hc.client5.http.auth.AuthSchemeProvider;
+import org.apache.hc.client5.http.auth.AuthSchemeFactory;
 import org.apache.hc.client5.http.auth.AuthSchemes;
 import org.apache.hc.client5.http.auth.CredentialsProvider;
 import org.apache.hc.client5.http.auth.KerberosConfig;
 import org.apache.hc.client5.http.config.RequestConfig;
 import org.apache.hc.client5.http.cookie.BasicCookieStore;
-import org.apache.hc.client5.http.cookie.CookieSpecProvider;
+import org.apache.hc.client5.http.cookie.CookieSpecFactory;
 import org.apache.hc.client5.http.cookie.CookieStore;
 import org.apache.hc.client5.http.impl.ChainElement;
 import org.apache.hc.client5.http.impl.CookieSpecSupport;
@@ -193,8 +193,8 @@ public class H2AsyncClientBuilder {
     private RedirectStrategy redirectStrategy;
     private HttpRequestRetryStrategy retryStrategy;
 
-    private Lookup<AuthSchemeProvider> authSchemeRegistry;
-    private Lookup<CookieSpecProvider> cookieSpecRegistry;
+    private Lookup<AuthSchemeFactory> authSchemeRegistry;
+    private Lookup<CookieSpecFactory> cookieSpecRegistry;
     private CookieStore cookieStore;
     private CredentialsProvider credentialsProvider;
 
@@ -472,7 +472,7 @@ public class H2AsyncClientBuilder {
      * be used for request execution if not explicitly set in the client execution
      * context.
      */
-    public final H2AsyncClientBuilder setDefaultAuthSchemeRegistry(final Lookup<AuthSchemeProvider> authSchemeRegistry) {
+    public final H2AsyncClientBuilder setDefaultAuthSchemeRegistry(final Lookup<AuthSchemeFactory> authSchemeRegistry) {
         this.authSchemeRegistry = authSchemeRegistry;
         return this;
     }
@@ -482,7 +482,7 @@ public class H2AsyncClientBuilder {
      * which will be used for request execution if not explicitly set in the client
      * execution context.
      */
-    public final H2AsyncClientBuilder setDefaultCookieSpecRegistry(final Lookup<CookieSpecProvider> cookieSpecRegistry) {
+    public final H2AsyncClientBuilder setDefaultCookieSpecRegistry(final Lookup<CookieSpecFactory> cookieSpecRegistry) {
         this.cookieSpecRegistry = cookieSpecRegistry;
         return this;
     }
@@ -760,9 +760,9 @@ public class H2AsyncClientBuilder {
             current = current.getPrevious();
         }
 
-        Lookup<AuthSchemeProvider> authSchemeRegistryCopy = this.authSchemeRegistry;
+        Lookup<AuthSchemeFactory> authSchemeRegistryCopy = this.authSchemeRegistry;
         if (authSchemeRegistryCopy == null) {
-            authSchemeRegistryCopy = RegistryBuilder.<AuthSchemeProvider>create()
+            authSchemeRegistryCopy = RegistryBuilder.<AuthSchemeFactory>create()
                     .register(AuthSchemes.BASIC.id, new BasicSchemeFactory())
                     .register(AuthSchemes.DIGEST.id, new DigestSchemeFactory())
                     .register(AuthSchemes.NTLM.id, new NTLMSchemeFactory())
@@ -772,7 +772,7 @@ public class H2AsyncClientBuilder {
                             new KerberosSchemeFactory(KerberosConfig.DEFAULT, SystemDefaultDnsResolver.INSTANCE))
                     .build();
         }
-        Lookup<CookieSpecProvider> cookieSpecRegistryCopy = this.cookieSpecRegistry;
+        Lookup<CookieSpecFactory> cookieSpecRegistryCopy = this.cookieSpecRegistry;
         if (cookieSpecRegistryCopy == null) {
             cookieSpecRegistryCopy = CookieSpecSupport.createDefault();
         }
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/HttpAsyncClientBuilder.java b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/HttpAsyncClientBuilder.java
index 412b432..21823e6 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/HttpAsyncClientBuilder.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/HttpAsyncClientBuilder.java
@@ -45,13 +45,13 @@ import org.apache.hc.client5.http.SchemePortResolver;
 import org.apache.hc.client5.http.SystemDefaultDnsResolver;
 import org.apache.hc.client5.http.UserTokenHandler;
 import org.apache.hc.client5.http.async.AsyncExecChainHandler;
-import org.apache.hc.client5.http.auth.AuthSchemeProvider;
+import org.apache.hc.client5.http.auth.AuthSchemeFactory;
 import org.apache.hc.client5.http.auth.AuthSchemes;
 import org.apache.hc.client5.http.auth.CredentialsProvider;
 import org.apache.hc.client5.http.auth.KerberosConfig;
 import org.apache.hc.client5.http.config.RequestConfig;
 import org.apache.hc.client5.http.cookie.BasicCookieStore;
-import org.apache.hc.client5.http.cookie.CookieSpecProvider;
+import org.apache.hc.client5.http.cookie.CookieSpecFactory;
 import org.apache.hc.client5.http.cookie.CookieStore;
 import org.apache.hc.client5.http.impl.ChainElement;
 import org.apache.hc.client5.http.impl.CookieSpecSupport;
@@ -230,8 +230,8 @@ public class HttpAsyncClientBuilder {
 
     private ConnectionReuseStrategy reuseStrategy;
 
-    private Lookup<AuthSchemeProvider> authSchemeRegistry;
-    private Lookup<CookieSpecProvider> cookieSpecRegistry;
+    private Lookup<AuthSchemeFactory> authSchemeRegistry;
+    private Lookup<CookieSpecFactory> cookieSpecRegistry;
     private CookieStore cookieStore;
     private CredentialsProvider credentialsProvider;
 
@@ -574,7 +574,7 @@ public class HttpAsyncClientBuilder {
      * be used for request execution if not explicitly set in the client execution
      * context.
      */
-    public final HttpAsyncClientBuilder setDefaultAuthSchemeRegistry(final Lookup<AuthSchemeProvider> authSchemeRegistry) {
+    public final HttpAsyncClientBuilder setDefaultAuthSchemeRegistry(final Lookup<AuthSchemeFactory> authSchemeRegistry) {
         this.authSchemeRegistry = authSchemeRegistry;
         return this;
     }
@@ -584,7 +584,7 @@ public class HttpAsyncClientBuilder {
      * which will be used for request execution if not explicitly set in the client
      * execution context.
      */
-    public final HttpAsyncClientBuilder setDefaultCookieSpecRegistry(final Lookup<CookieSpecProvider> cookieSpecRegistry) {
+    public final HttpAsyncClientBuilder setDefaultCookieSpecRegistry(final Lookup<CookieSpecFactory> cookieSpecRegistry) {
         this.cookieSpecRegistry = cookieSpecRegistry;
         return this;
     }
@@ -967,9 +967,9 @@ public class HttpAsyncClientBuilder {
             current = current.getPrevious();
         }
 
-        Lookup<AuthSchemeProvider> authSchemeRegistryCopy = this.authSchemeRegistry;
+        Lookup<AuthSchemeFactory> authSchemeRegistryCopy = this.authSchemeRegistry;
         if (authSchemeRegistryCopy == null) {
-            authSchemeRegistryCopy = RegistryBuilder.<AuthSchemeProvider>create()
+            authSchemeRegistryCopy = RegistryBuilder.<AuthSchemeFactory>create()
                     .register(AuthSchemes.BASIC.id, new BasicSchemeFactory())
                     .register(AuthSchemes.DIGEST.id, new DigestSchemeFactory())
                     .register(AuthSchemes.NTLM.id, new NTLMSchemeFactory())
@@ -979,7 +979,7 @@ public class HttpAsyncClientBuilder {
                             new KerberosSchemeFactory(KerberosConfig.DEFAULT, SystemDefaultDnsResolver.INSTANCE))
                     .build();
         }
-        Lookup<CookieSpecProvider> cookieSpecRegistryCopy = this.cookieSpecRegistry;
+        Lookup<CookieSpecFactory> cookieSpecRegistryCopy = this.cookieSpecRegistry;
         if (cookieSpecRegistryCopy == null) {
             cookieSpecRegistryCopy = CookieSpecSupport.createDefault();
         }
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/InternalAbstractHttpAsyncClient.java b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/InternalAbstractHttpAsyncClient.java
index 78dab90..e16a1a4 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/InternalAbstractHttpAsyncClient.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/InternalAbstractHttpAsyncClient.java
@@ -39,11 +39,11 @@ import org.apache.hc.client5.http.HttpRoute;
 import org.apache.hc.client5.http.async.AsyncExecCallback;
 import org.apache.hc.client5.http.async.AsyncExecChain;
 import org.apache.hc.client5.http.async.AsyncExecRuntime;
-import org.apache.hc.client5.http.auth.AuthSchemeProvider;
+import org.apache.hc.client5.http.auth.AuthSchemeFactory;
 import org.apache.hc.client5.http.auth.CredentialsProvider;
 import org.apache.hc.client5.http.config.Configurable;
 import org.apache.hc.client5.http.config.RequestConfig;
-import org.apache.hc.client5.http.cookie.CookieSpecProvider;
+import org.apache.hc.client5.http.cookie.CookieSpecFactory;
 import org.apache.hc.client5.http.cookie.CookieStore;
 import org.apache.hc.client5.http.impl.ExecSupport;
 import org.apache.hc.client5.http.impl.RequestCopier;
@@ -74,8 +74,8 @@ import org.apache.hc.core5.reactor.DefaultConnectingIOReactor;
 abstract class InternalAbstractHttpAsyncClient extends AbstractHttpAsyncClientBase {
 
     private final AsyncExecChainElement execChain;
-    private final Lookup<CookieSpecProvider> cookieSpecRegistry;
-    private final Lookup<AuthSchemeProvider> authSchemeRegistry;
+    private final Lookup<CookieSpecFactory> cookieSpecRegistry;
+    private final Lookup<AuthSchemeFactory> authSchemeRegistry;
     private final CookieStore cookieStore;
     private final CredentialsProvider credentialsProvider;
     private final RequestConfig defaultConfig;
@@ -86,8 +86,8 @@ abstract class InternalAbstractHttpAsyncClient extends AbstractHttpAsyncClientBa
             final AsyncPushConsumerRegistry pushConsumerRegistry,
             final ThreadFactory threadFactory,
             final AsyncExecChainElement execChain,
-            final Lookup<CookieSpecProvider> cookieSpecRegistry,
-            final Lookup<AuthSchemeProvider> authSchemeRegistry,
+            final Lookup<CookieSpecFactory> cookieSpecRegistry,
+            final Lookup<AuthSchemeFactory> authSchemeRegistry,
             final CookieStore cookieStore,
             final CredentialsProvider credentialsProvider,
             final RequestConfig defaultConfig,
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/InternalH2AsyncClient.java b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/InternalH2AsyncClient.java
index 6481eb1..cb6b886 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/InternalH2AsyncClient.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/InternalH2AsyncClient.java
@@ -32,10 +32,10 @@ import java.util.concurrent.ThreadFactory;
 
 import org.apache.hc.client5.http.HttpRoute;
 import org.apache.hc.client5.http.async.AsyncExecRuntime;
-import org.apache.hc.client5.http.auth.AuthSchemeProvider;
+import org.apache.hc.client5.http.auth.AuthSchemeFactory;
 import org.apache.hc.client5.http.auth.CredentialsProvider;
 import org.apache.hc.client5.http.config.RequestConfig;
-import org.apache.hc.client5.http.cookie.CookieSpecProvider;
+import org.apache.hc.client5.http.cookie.CookieSpecFactory;
 import org.apache.hc.client5.http.cookie.CookieStore;
 import org.apache.hc.client5.http.protocol.HttpClientContext;
 import org.apache.hc.client5.http.routing.HttpRoutePlanner;
@@ -74,8 +74,8 @@ public final class InternalH2AsyncClient extends InternalAbstractHttpAsyncClient
             final ThreadFactory threadFactory,
             final H2ConnPool connPool,
             final HttpRoutePlanner routePlanner,
-            final Lookup<CookieSpecProvider> cookieSpecRegistry,
-            final Lookup<AuthSchemeProvider> authSchemeRegistry,
+            final Lookup<CookieSpecFactory> cookieSpecRegistry,
+            final Lookup<AuthSchemeFactory> authSchemeRegistry,
             final CookieStore cookieStore,
             final CredentialsProvider credentialsProvider,
             final RequestConfig defaultConfig,
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/InternalHttpAsyncClient.java b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/InternalHttpAsyncClient.java
index 48289b9..9aa3c44 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/InternalHttpAsyncClient.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/async/InternalHttpAsyncClient.java
@@ -32,10 +32,10 @@ import java.util.concurrent.ThreadFactory;
 
 import org.apache.hc.client5.http.HttpRoute;
 import org.apache.hc.client5.http.async.AsyncExecRuntime;
-import org.apache.hc.client5.http.auth.AuthSchemeProvider;
+import org.apache.hc.client5.http.auth.AuthSchemeFactory;
 import org.apache.hc.client5.http.auth.CredentialsProvider;
 import org.apache.hc.client5.http.config.RequestConfig;
-import org.apache.hc.client5.http.cookie.CookieSpecProvider;
+import org.apache.hc.client5.http.cookie.CookieSpecFactory;
 import org.apache.hc.client5.http.cookie.CookieStore;
 import org.apache.hc.client5.http.nio.AsyncClientConnectionManager;
 import org.apache.hc.client5.http.protocol.HttpClientContext;
@@ -80,8 +80,8 @@ public final class InternalHttpAsyncClient extends InternalAbstractHttpAsyncClie
             final AsyncClientConnectionManager manager,
             final HttpRoutePlanner routePlanner,
             final HttpVersionPolicy versionPolicy,
-            final Lookup<CookieSpecProvider> cookieSpecRegistry,
-            final Lookup<AuthSchemeProvider> authSchemeRegistry,
+            final Lookup<CookieSpecFactory> cookieSpecRegistry,
+            final Lookup<AuthSchemeFactory> authSchemeRegistry,
             final CookieStore cookieStore,
             final CredentialsProvider credentialsProvider,
             final RequestConfig defaultConfig,
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/auth/BasicSchemeFactory.java b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/auth/BasicSchemeFactory.java
index 2f0e796..9b471c3 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/auth/BasicSchemeFactory.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/auth/BasicSchemeFactory.java
@@ -30,19 +30,19 @@ package org.apache.hc.client5.http.impl.auth;
 import java.nio.charset.Charset;
 
 import org.apache.hc.client5.http.auth.AuthScheme;
-import org.apache.hc.client5.http.auth.AuthSchemeProvider;
+import org.apache.hc.client5.http.auth.AuthSchemeFactory;
 import org.apache.hc.core5.annotation.Contract;
 import org.apache.hc.core5.annotation.ThreadingBehavior;
 import org.apache.hc.core5.http.protocol.HttpContext;
 
 /**
- * {@link AuthSchemeProvider} implementation that creates and initializes
+ * {@link AuthSchemeFactory} implementation that creates and initializes
  * {@link BasicScheme} instances.
  *
  * @since 4.0
  */
 @Contract(threading = ThreadingBehavior.STATELESS)
-public class BasicSchemeFactory implements AuthSchemeProvider {
+public class BasicSchemeFactory implements AuthSchemeFactory {
 
     private final Charset charset;
 
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/auth/DigestSchemeFactory.java b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/auth/DigestSchemeFactory.java
index 4e74740..7a51074 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/auth/DigestSchemeFactory.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/auth/DigestSchemeFactory.java
@@ -28,19 +28,19 @@
 package org.apache.hc.client5.http.impl.auth;
 
 import org.apache.hc.client5.http.auth.AuthScheme;
-import org.apache.hc.client5.http.auth.AuthSchemeProvider;
+import org.apache.hc.client5.http.auth.AuthSchemeFactory;
 import org.apache.hc.core5.annotation.Contract;
 import org.apache.hc.core5.annotation.ThreadingBehavior;
 import org.apache.hc.core5.http.protocol.HttpContext;
 
 /**
- * {@link AuthSchemeProvider} implementation that creates and initializes
+ * {@link AuthSchemeFactory} implementation that creates and initializes
  * {@link DigestScheme} instances.
  *
  * @since 4.0
  */
 @Contract(threading = ThreadingBehavior.STATELESS)
-public class DigestSchemeFactory implements AuthSchemeProvider {
+public class DigestSchemeFactory implements AuthSchemeFactory {
 
     @Override
     public AuthScheme create(final HttpContext context) {
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/auth/KerberosSchemeFactory.java b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/auth/KerberosSchemeFactory.java
index c1ee7c0..0bb2658 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/auth/KerberosSchemeFactory.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/auth/KerberosSchemeFactory.java
@@ -28,7 +28,7 @@ package org.apache.hc.client5.http.impl.auth;
 
 import org.apache.hc.client5.http.DnsResolver;
 import org.apache.hc.client5.http.auth.AuthScheme;
-import org.apache.hc.client5.http.auth.AuthSchemeProvider;
+import org.apache.hc.client5.http.auth.AuthSchemeFactory;
 import org.apache.hc.client5.http.auth.KerberosConfig;
 import org.apache.hc.core5.annotation.Contract;
 import org.apache.hc.core5.annotation.Experimental;
@@ -36,7 +36,7 @@ import org.apache.hc.core5.annotation.ThreadingBehavior;
 import org.apache.hc.core5.http.protocol.HttpContext;
 
 /**
- * {@link AuthSchemeProvider} implementation that creates and initializes
+ * {@link AuthSchemeFactory} implementation that creates and initializes
  * {@link KerberosScheme} instances.
  * <p>
  * Please note this class is considered experimental and may be discontinued or removed
@@ -47,7 +47,7 @@ import org.apache.hc.core5.http.protocol.HttpContext;
  */
 @Contract(threading = ThreadingBehavior.STATELESS)
 @Experimental
-public class KerberosSchemeFactory implements AuthSchemeProvider {
+public class KerberosSchemeFactory implements AuthSchemeFactory {
 
     private final KerberosConfig config;
     private final DnsResolver dnsResolver;
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/auth/NTLMEngineImpl.java b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/auth/NTLMEngineImpl.java
index a581f06..1294913 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/auth/NTLMEngineImpl.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/auth/NTLMEngineImpl.java
@@ -103,6 +103,7 @@ final class NTLMEngineImpl implements NTLMEngine {
         try {
             rnd = java.security.SecureRandom.getInstance("SHA1PRNG");
         } catch (final Exception ignore) {
+            // ignore
         }
         RND_GEN = rnd;
     }
@@ -233,7 +234,7 @@ final class NTLMEngineImpl implements NTLMEngine {
      *            the 8 byte array the server sent.
      * @return The type 3 message.
      * @throws NTLMEngineException
-     *             If {@encrypt(byte[],byte[])} fails.
+     *             If {@link Type3Message#Type3Message(String, String, String, char[], byte[], int, String, byte[])} fails.
      */
     static String getType3Message(final String user, final char[] password, final String host, final String domain,
             final byte[] nonce, final int type2Flags, final String target, final byte[] targetInformation)
@@ -1233,8 +1234,7 @@ final class NTLMEngineImpl implements NTLMEngine {
             if (messageContents == null) {
                 buildMessage();
             }
-            final byte[] resp;
-            if ( messageContents.length > currentOutputPosition ) {
+            if (messageContents.length > currentOutputPosition) {
                 final byte[] tmp = new byte[currentOutputPosition];
                 System.arraycopy( messageContents, 0, tmp, 0, currentOutputPosition );
                 messageContents = tmp;
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/auth/NTLMSchemeFactory.java b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/auth/NTLMSchemeFactory.java
index 42cc5d4..fd304d8 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/auth/NTLMSchemeFactory.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/auth/NTLMSchemeFactory.java
@@ -28,20 +28,20 @@
 package org.apache.hc.client5.http.impl.auth;
 
 import org.apache.hc.client5.http.auth.AuthScheme;
-import org.apache.hc.client5.http.auth.AuthSchemeProvider;
+import org.apache.hc.client5.http.auth.AuthSchemeFactory;
 import org.apache.hc.core5.annotation.Contract;
 import org.apache.hc.core5.annotation.ThreadingBehavior;
 import org.apache.hc.core5.http.protocol.HttpContext;
 
 /**
- * {@link AuthSchemeProvider} implementation that creates and initializes
+ * {@link AuthSchemeFactory} implementation that creates and initializes
  * {@link NTLMScheme} instances configured to use the default {@link NTLMEngine}
  * implementation.
  *
  * @since 4.1
  */
 @Contract(threading = ThreadingBehavior.STATELESS)
-public class NTLMSchemeFactory implements AuthSchemeProvider {
+public class NTLMSchemeFactory implements AuthSchemeFactory {
 
     @Override
     public AuthScheme create(final HttpContext context) {
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/auth/SPNegoSchemeFactory.java b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/auth/SPNegoSchemeFactory.java
index 61065d4..3bbb116 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/auth/SPNegoSchemeFactory.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/auth/SPNegoSchemeFactory.java
@@ -28,7 +28,7 @@ package org.apache.hc.client5.http.impl.auth;
 
 import org.apache.hc.client5.http.DnsResolver;
 import org.apache.hc.client5.http.auth.AuthScheme;
-import org.apache.hc.client5.http.auth.AuthSchemeProvider;
+import org.apache.hc.client5.http.auth.AuthSchemeFactory;
 import org.apache.hc.client5.http.auth.KerberosConfig;
 import org.apache.hc.core5.annotation.Contract;
 import org.apache.hc.core5.annotation.Experimental;
@@ -36,7 +36,7 @@ import org.apache.hc.core5.annotation.ThreadingBehavior;
 import org.apache.hc.core5.http.protocol.HttpContext;
 
 /**
- * {@link AuthSchemeProvider} implementation that creates and initializes
+ * {@link AuthSchemeFactory} implementation that creates and initializes
  * {@link SPNegoScheme} instances.
  * <p>
  * Please note this class is considered experimental and may be discontinued or removed
@@ -47,7 +47,7 @@ import org.apache.hc.core5.http.protocol.HttpContext;
  */
 @Contract(threading = ThreadingBehavior.STATELESS)
 @Experimental
-public class SPNegoSchemeFactory implements AuthSchemeProvider {
+public class SPNegoSchemeFactory implements AuthSchemeFactory {
 
     private final KerberosConfig config;
     private final DnsResolver dnsResolver;
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/classic/HttpClientBuilder.java b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/classic/HttpClientBuilder.java
index 10affbe..89197cd 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/classic/HttpClientBuilder.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/classic/HttpClientBuilder.java
@@ -43,7 +43,7 @@ import org.apache.hc.client5.http.HttpRequestRetryStrategy;
 import org.apache.hc.client5.http.SchemePortResolver;
 import org.apache.hc.client5.http.SystemDefaultDnsResolver;
 import org.apache.hc.client5.http.UserTokenHandler;
-import org.apache.hc.client5.http.auth.AuthSchemeProvider;
+import org.apache.hc.client5.http.auth.AuthSchemeFactory;
 import org.apache.hc.client5.http.auth.AuthSchemes;
 import org.apache.hc.client5.http.auth.CredentialsProvider;
 import org.apache.hc.client5.http.auth.KerberosConfig;
@@ -52,7 +52,7 @@ import org.apache.hc.client5.http.classic.ConnectionBackoffStrategy;
 import org.apache.hc.client5.http.classic.ExecChainHandler;
 import org.apache.hc.client5.http.config.RequestConfig;
 import org.apache.hc.client5.http.cookie.BasicCookieStore;
-import org.apache.hc.client5.http.cookie.CookieSpecProvider;
+import org.apache.hc.client5.http.cookie.CookieSpecFactory;
 import org.apache.hc.client5.http.cookie.CookieStore;
 import org.apache.hc.client5.http.entity.InputStreamFactory;
 import org.apache.hc.client5.http.impl.ChainElement;
@@ -207,8 +207,8 @@ public class HttpClientBuilder {
     private RedirectStrategy redirectStrategy;
     private ConnectionBackoffStrategy connectionBackoffStrategy;
     private BackoffManager backoffManager;
-    private Lookup<AuthSchemeProvider> authSchemeRegistry;
-    private Lookup<CookieSpecProvider> cookieSpecRegistry;
+    private Lookup<AuthSchemeFactory> authSchemeRegistry;
+    private Lookup<CookieSpecFactory> cookieSpecRegistry;
     private LinkedHashMap<String, InputStreamFactory> contentDecoderMap;
     private CookieStore cookieStore;
     private CredentialsProvider credentialsProvider;
@@ -593,7 +593,7 @@ public class HttpClientBuilder {
      * context.
      */
     public final HttpClientBuilder setDefaultAuthSchemeRegistry(
-            final Lookup<AuthSchemeProvider> authSchemeRegistry) {
+            final Lookup<AuthSchemeFactory> authSchemeRegistry) {
         this.authSchemeRegistry = authSchemeRegistry;
         return this;
     }
@@ -607,7 +607,7 @@ public class HttpClientBuilder {
      *
      */
     public final HttpClientBuilder setDefaultCookieSpecRegistry(
-            final Lookup<CookieSpecProvider> cookieSpecRegistry) {
+            final Lookup<CookieSpecFactory> cookieSpecRegistry) {
         this.cookieSpecRegistry = cookieSpecRegistry;
         return this;
     }
@@ -939,9 +939,9 @@ public class HttpClientBuilder {
             current = current.getPrevious();
         }
 
-        Lookup<AuthSchemeProvider> authSchemeRegistryCopy = this.authSchemeRegistry;
+        Lookup<AuthSchemeFactory> authSchemeRegistryCopy = this.authSchemeRegistry;
         if (authSchemeRegistryCopy == null) {
-            authSchemeRegistryCopy = RegistryBuilder.<AuthSchemeProvider>create()
+            authSchemeRegistryCopy = RegistryBuilder.<AuthSchemeFactory>create()
                 .register(AuthSchemes.BASIC.id, new BasicSchemeFactory())
                 .register(AuthSchemes.DIGEST.id, new DigestSchemeFactory())
                 .register(AuthSchemes.NTLM.id, new NTLMSchemeFactory())
@@ -949,7 +949,7 @@ public class HttpClientBuilder {
                 .register(AuthSchemes.KERBEROS.id, new KerberosSchemeFactory(KerberosConfig.DEFAULT, SystemDefaultDnsResolver.INSTANCE))
                 .build();
         }
-        Lookup<CookieSpecProvider> cookieSpecRegistryCopy = this.cookieSpecRegistry;
+        Lookup<CookieSpecFactory> cookieSpecRegistryCopy = this.cookieSpecRegistry;
         if (cookieSpecRegistryCopy == null) {
             cookieSpecRegistryCopy = CookieSpecSupport.createDefault();
         }
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/classic/InternalHttpClient.java b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/classic/InternalHttpClient.java
index 0240cc4..86758f6 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/classic/InternalHttpClient.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/classic/InternalHttpClient.java
@@ -34,13 +34,13 @@ import java.util.concurrent.ConcurrentLinkedQueue;
 
 import org.apache.hc.client5.http.ClientProtocolException;
 import org.apache.hc.client5.http.HttpRoute;
-import org.apache.hc.client5.http.auth.AuthSchemeProvider;
+import org.apache.hc.client5.http.auth.AuthSchemeFactory;
 import org.apache.hc.client5.http.auth.CredentialsProvider;
 import org.apache.hc.client5.http.classic.ExecChain;
 import org.apache.hc.client5.http.classic.ExecRuntime;
 import org.apache.hc.client5.http.config.Configurable;
 import org.apache.hc.client5.http.config.RequestConfig;
-import org.apache.hc.client5.http.cookie.CookieSpecProvider;
+import org.apache.hc.client5.http.cookie.CookieSpecFactory;
 import org.apache.hc.client5.http.cookie.CookieStore;
 import org.apache.hc.client5.http.impl.ExecSupport;
 import org.apache.hc.client5.http.io.HttpClientConnectionManager;
@@ -86,8 +86,8 @@ class InternalHttpClient extends CloseableHttpClient implements Configurable {
     private final HttpRequestExecutor requestExecutor;
     private final ExecChainElement execChain;
     private final HttpRoutePlanner routePlanner;
-    private final Lookup<CookieSpecProvider> cookieSpecRegistry;
-    private final Lookup<AuthSchemeProvider> authSchemeRegistry;
+    private final Lookup<CookieSpecFactory> cookieSpecRegistry;
+    private final Lookup<AuthSchemeFactory> authSchemeRegistry;
     private final CookieStore cookieStore;
     private final CredentialsProvider credentialsProvider;
     private final RequestConfig defaultConfig;
@@ -98,8 +98,8 @@ class InternalHttpClient extends CloseableHttpClient implements Configurable {
             final HttpRequestExecutor requestExecutor,
             final ExecChainElement execChain,
             final HttpRoutePlanner routePlanner,
-            final Lookup<CookieSpecProvider> cookieSpecRegistry,
-            final Lookup<AuthSchemeProvider> authSchemeRegistry,
+            final Lookup<CookieSpecFactory> cookieSpecRegistry,
+            final Lookup<AuthSchemeFactory> authSchemeRegistry,
             final CookieStore cookieStore,
             final CredentialsProvider credentialsProvider,
             final RequestConfig defaultConfig,
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/classic/ProxyClient.java b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/classic/ProxyClient.java
index d732bc6..3156cd5 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/classic/ProxyClient.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/classic/ProxyClient.java
@@ -36,7 +36,7 @@ import org.apache.hc.client5.http.RouteInfo.LayerType;
 import org.apache.hc.client5.http.RouteInfo.TunnelType;
 import org.apache.hc.client5.http.SystemDefaultDnsResolver;
 import org.apache.hc.client5.http.auth.AuthExchange;
-import org.apache.hc.client5.http.auth.AuthSchemeProvider;
+import org.apache.hc.client5.http.auth.AuthSchemeFactory;
 import org.apache.hc.client5.http.auth.AuthSchemes;
 import org.apache.hc.client5.http.auth.AuthScope;
 import org.apache.hc.client5.http.auth.ChallengeType;
@@ -94,7 +94,7 @@ public class ProxyClient {
     private final AuthenticationStrategy proxyAuthStrategy;
     private final HttpAuthenticator authenticator;
     private final AuthExchange proxyAuthExchange;
-    private final Lookup<AuthSchemeProvider> authSchemeRegistry;
+    private final Lookup<AuthSchemeFactory> authSchemeRegistry;
     private final ConnectionReuseStrategy reuseStrategy;
 
     /**
@@ -114,7 +114,7 @@ public class ProxyClient {
         this.proxyAuthStrategy = new DefaultAuthenticationStrategy();
         this.authenticator = new HttpAuthenticator();
         this.proxyAuthExchange = new AuthExchange();
-        this.authSchemeRegistry = RegistryBuilder.<AuthSchemeProvider>create()
+        this.authSchemeRegistry = RegistryBuilder.<AuthSchemeFactory>create()
                 .register(AuthSchemes.BASIC.id, new BasicSchemeFactory())
                 .register(AuthSchemes.DIGEST.id, new DigestSchemeFactory())
                 .register(AuthSchemes.NTLM.id, new NTLMSchemeFactory())
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/cookie/IgnoreSpecProvider.java b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/cookie/IgnoreCookieSpecFactory.java
similarity index 86%
rename from httpclient5/src/main/java/org/apache/hc/client5/http/impl/cookie/IgnoreSpecProvider.java
rename to httpclient5/src/main/java/org/apache/hc/client5/http/impl/cookie/IgnoreCookieSpecFactory.java
index 38b0879..38941ba 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/cookie/IgnoreSpecProvider.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/cookie/IgnoreCookieSpecFactory.java
@@ -28,22 +28,22 @@
 package org.apache.hc.client5.http.impl.cookie;
 
 import org.apache.hc.client5.http.cookie.CookieSpec;
-import org.apache.hc.client5.http.cookie.CookieSpecProvider;
+import org.apache.hc.client5.http.cookie.CookieSpecFactory;
 import org.apache.hc.core5.annotation.Contract;
 import org.apache.hc.core5.annotation.ThreadingBehavior;
 import org.apache.hc.core5.http.protocol.HttpContext;
 
 /**
- * {@link CookieSpecProvider} implementation that ignores all cookies.
+ * {@link CookieSpecFactory} implementation that ignores all cookies.
  *
  * @since 4.4
  */
 @Contract(threading = ThreadingBehavior.SAFE)
-public class IgnoreSpecProvider implements CookieSpecProvider {
+public class IgnoreCookieSpecFactory implements CookieSpecFactory {
 
     private volatile CookieSpec cookieSpec;
 
-    public IgnoreSpecProvider() {
+    public IgnoreCookieSpecFactory() {
         super();
     }
 
@@ -52,7 +52,7 @@ public class IgnoreSpecProvider implements CookieSpecProvider {
         if (cookieSpec == null) {
             synchronized (this) {
                 if (cookieSpec == null) {
-                    this.cookieSpec = new IgnoreSpec();
+                    this.cookieSpec = new IgnoreSpecSpec();
                 }
             }
         }
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/cookie/IgnoreSpec.java b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/cookie/IgnoreSpecSpec.java
similarity index 97%
rename from httpclient5/src/main/java/org/apache/hc/client5/http/impl/cookie/IgnoreSpec.java
rename to httpclient5/src/main/java/org/apache/hc/client5/http/impl/cookie/IgnoreSpecSpec.java
index 018641c..325f387 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/cookie/IgnoreSpec.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/cookie/IgnoreSpecSpec.java
@@ -43,7 +43,7 @@ import org.apache.hc.core5.http.Header;
  * @since 4.1
  */
 @Contract(threading = ThreadingBehavior.STATELESS)
-public class IgnoreSpec extends CookieSpecBase {
+public class IgnoreSpecSpec extends CookieSpecBase {
 
     @Override
     public List<Cookie> parse(final Header header, final CookieOrigin origin)
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/cookie/RFC6265CookieSpecProvider.java b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/cookie/RFC6265CookieSpecFactory.java
similarity index 93%
rename from httpclient5/src/main/java/org/apache/hc/client5/http/impl/cookie/RFC6265CookieSpecProvider.java
rename to httpclient5/src/main/java/org/apache/hc/client5/http/impl/cookie/RFC6265CookieSpecFactory.java
index 7733943..1399409 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/cookie/RFC6265CookieSpecProvider.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/cookie/RFC6265CookieSpecFactory.java
@@ -30,7 +30,7 @@ package org.apache.hc.client5.http.impl.cookie;
 import org.apache.hc.client5.http.cookie.Cookie;
 import org.apache.hc.client5.http.cookie.CookieOrigin;
 import org.apache.hc.client5.http.cookie.CookieSpec;
-import org.apache.hc.client5.http.cookie.CookieSpecProvider;
+import org.apache.hc.client5.http.cookie.CookieSpecFactory;
 import org.apache.hc.client5.http.cookie.MalformedCookieException;
 import org.apache.hc.client5.http.psl.PublicSuffixMatcher;
 import org.apache.hc.core5.annotation.Contract;
@@ -38,14 +38,14 @@ import org.apache.hc.core5.annotation.ThreadingBehavior;
 import org.apache.hc.core5.http.protocol.HttpContext;
 
 /**
- * {@link CookieSpecProvider} implementation that provides an instance of
+ * {@link CookieSpecFactory} implementation that provides an instance of
  * RFC 6265 conformant cookie policy. The instance returned by this factory
  * can be shared by multiple threads.
  *
  * @since 4.4
  */
 @Contract(threading = ThreadingBehavior.SAFE)
-public class RFC6265CookieSpecProvider implements CookieSpecProvider {
+public class RFC6265CookieSpecFactory implements CookieSpecFactory {
 
     public enum CompatibilityLevel {
         STRICT,
@@ -58,7 +58,7 @@ public class RFC6265CookieSpecProvider implements CookieSpecProvider {
 
     private volatile CookieSpec cookieSpec;
 
-    public RFC6265CookieSpecProvider(
+    public RFC6265CookieSpecFactory(
             final CompatibilityLevel compatibilityLevel,
             final PublicSuffixMatcher publicSuffixMatcher) {
         super();
@@ -66,11 +66,11 @@ public class RFC6265CookieSpecProvider implements CookieSpecProvider {
         this.publicSuffixMatcher = publicSuffixMatcher;
     }
 
-    public RFC6265CookieSpecProvider(final PublicSuffixMatcher publicSuffixMatcher) {
+    public RFC6265CookieSpecFactory(final PublicSuffixMatcher publicSuffixMatcher) {
         this(CompatibilityLevel.RELAXED, publicSuffixMatcher);
     }
 
-    public RFC6265CookieSpecProvider() {
+    public RFC6265CookieSpecFactory() {
         this(CompatibilityLevel.RELAXED, null);
     }
 
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/protocol/HttpClientContext.java b/httpclient5/src/main/java/org/apache/hc/client5/http/protocol/HttpClientContext.java
index 4c35e8f..5404d5b 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/protocol/HttpClientContext.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/protocol/HttpClientContext.java
@@ -35,12 +35,12 @@ import org.apache.hc.client5.http.RouteInfo;
 import org.apache.hc.client5.http.auth.AuthCache;
 import org.apache.hc.client5.http.auth.AuthExchange;
 import org.apache.hc.client5.http.auth.AuthScheme;
-import org.apache.hc.client5.http.auth.AuthSchemeProvider;
+import org.apache.hc.client5.http.auth.AuthSchemeFactory;
 import org.apache.hc.client5.http.auth.CredentialsProvider;
 import org.apache.hc.client5.http.config.RequestConfig;
 import org.apache.hc.client5.http.cookie.CookieOrigin;
 import org.apache.hc.client5.http.cookie.CookieSpec;
-import org.apache.hc.client5.http.cookie.CookieSpecProvider;
+import org.apache.hc.client5.http.cookie.CookieSpecFactory;
 import org.apache.hc.client5.http.cookie.CookieStore;
 import org.apache.hc.core5.http.HttpHost;
 import org.apache.hc.core5.http.config.Lookup;
@@ -72,7 +72,7 @@ public class HttpClientContext extends HttpCoreContext {
 
     /**
      * Attribute name of a {@link org.apache.hc.core5.http.config.Lookup} object that represents
-     * the actual {@link CookieSpecProvider} registry.
+     * the actual {@link CookieSpecFactory} registry.
      */
     public static final String COOKIESPEC_REGISTRY   = "http.cookiespec-registry";
 
@@ -120,7 +120,7 @@ public class HttpClientContext extends HttpCoreContext {
 
     /**
      * Attribute name of a {@link org.apache.hc.core5.http.config.Lookup} object that represents
-     * the actual {@link AuthSchemeProvider} registry.
+     * the actual {@link AuthSchemeFactory} registry.
      */
     public static final String AUTHSCHEME_REGISTRY   = "http.authscheme-registry";
 
@@ -178,19 +178,19 @@ public class HttpClientContext extends HttpCoreContext {
         return getAttribute(name, Lookup.class);
     }
 
-    public Lookup<CookieSpecProvider> getCookieSpecRegistry() {
-        return getLookup(COOKIESPEC_REGISTRY, CookieSpecProvider.class);
+    public Lookup<CookieSpecFactory> getCookieSpecRegistry() {
+        return getLookup(COOKIESPEC_REGISTRY, CookieSpecFactory.class);
     }
 
-    public void setCookieSpecRegistry(final Lookup<CookieSpecProvider> lookup) {
+    public void setCookieSpecRegistry(final Lookup<CookieSpecFactory> lookup) {
         setAttribute(COOKIESPEC_REGISTRY, lookup);
     }
 
-    public Lookup<AuthSchemeProvider> getAuthSchemeRegistry() {
-        return getLookup(AUTHSCHEME_REGISTRY, AuthSchemeProvider.class);
+    public Lookup<AuthSchemeFactory> getAuthSchemeRegistry() {
+        return getLookup(AUTHSCHEME_REGISTRY, AuthSchemeFactory.class);
     }
 
-    public void setAuthSchemeRegistry(final Lookup<AuthSchemeProvider> lookup) {
+    public void setAuthSchemeRegistry(final Lookup<AuthSchemeFactory> lookup) {
         setAttribute(AUTHSCHEME_REGISTRY, lookup);
     }
 
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 fd9b6bc..a62daab 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
@@ -38,7 +38,7 @@ import org.apache.hc.client5.http.config.RequestConfig;
 import org.apache.hc.client5.http.cookie.Cookie;
 import org.apache.hc.client5.http.cookie.CookieOrigin;
 import org.apache.hc.client5.http.cookie.CookieSpec;
-import org.apache.hc.client5.http.cookie.CookieSpecProvider;
+import org.apache.hc.client5.http.cookie.CookieSpecFactory;
 import org.apache.hc.client5.http.cookie.CookieStore;
 import org.apache.hc.core5.annotation.Contract;
 import org.apache.hc.core5.annotation.ThreadingBehavior;
@@ -92,7 +92,7 @@ public class RequestAddCookies implements HttpRequestInterceptor {
         }
 
         // Obtain the registry of cookie specs
-        final Lookup<CookieSpecProvider> registry = clientContext.getCookieSpecRegistry();
+        final Lookup<CookieSpecFactory> registry = clientContext.getCookieSpecRegistry();
         if (registry == null) {
             this.log.debug("CookieSpec registry not specified in HTTP context");
             return;
@@ -130,7 +130,7 @@ public class RequestAddCookies implements HttpRequestInterceptor {
         final CookieOrigin cookieOrigin = new CookieOrigin(hostName, port, path, route.isSecure());
 
         // Get an instance of the selected cookie policy
-        final CookieSpecProvider provider = registry.lookup(policy);
+        final CookieSpecFactory provider = registry.lookup(policy);
         if (provider == null) {
             if (this.log.isDebugEnabled()) {
                 this.log.debug("Unsupported cookie policy: " + policy);
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 87b2ba7..d75c2e6 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
@@ -30,11 +30,11 @@ 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.CookieSpecProvider;
+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;
 import org.apache.hc.client5.http.impl.classic.HttpClients;
-import org.apache.hc.client5.http.impl.cookie.RFC6265CookieSpecProvider;
+import org.apache.hc.client5.http.impl.cookie.RFC6265CookieSpecFactory;
 import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManagerBuilder;
 import org.apache.hc.client5.http.io.HttpClientConnectionManager;
 import org.apache.hc.client5.http.psl.PublicSuffixMatcher;
@@ -61,8 +61,8 @@ 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 RFC6265CookieSpecProvider cookieSpecProvider = new RFC6265CookieSpecProvider(publicSuffixMatcher);
-        final Lookup<CookieSpecProvider> cookieSpecRegistry = RegistryBuilder.<CookieSpecProvider>create()
+        final RFC6265CookieSpecFactory cookieSpecProvider = new RFC6265CookieSpecFactory(publicSuffixMatcher);
+        final Lookup<CookieSpecFactory> cookieSpecRegistry = RegistryBuilder.<CookieSpecFactory>create()
                 .register(CookieSpecs.STANDARD.id, cookieSpecProvider)
                 .register(CookieSpecs.STANDARD_STRICT.id, cookieSpecProvider)
                 .build();
diff --git a/httpclient5/src/test/java/org/apache/hc/client5/http/impl/TestAuthenticationStrategy.java b/httpclient5/src/test/java/org/apache/hc/client5/http/impl/TestAuthenticationStrategy.java
index 124e69a..975c4e2 100644
--- a/httpclient5/src/test/java/org/apache/hc/client5/http/impl/TestAuthenticationStrategy.java
+++ b/httpclient5/src/test/java/org/apache/hc/client5/http/impl/TestAuthenticationStrategy.java
@@ -34,7 +34,7 @@ import java.util.Map;
 
 import org.apache.hc.client5.http.auth.AuthChallenge;
 import org.apache.hc.client5.http.auth.AuthScheme;
-import org.apache.hc.client5.http.auth.AuthSchemeProvider;
+import org.apache.hc.client5.http.auth.AuthSchemeFactory;
 import org.apache.hc.client5.http.auth.AuthScope;
 import org.apache.hc.client5.http.auth.ChallengeType;
 import org.apache.hc.client5.http.auth.UsernamePasswordCredentials;
@@ -108,7 +108,7 @@ public class TestAuthenticationStrategy {
         challenges.put("whatever", new AuthChallenge(ChallengeType.TARGET, "Whatever",
                 new BasicNameValuePair("realm", "realm3")));
 
-        final Registry<AuthSchemeProvider> authSchemeRegistry = RegistryBuilder.<AuthSchemeProvider>create()
+        final Registry<AuthSchemeFactory> authSchemeRegistry = RegistryBuilder.<AuthSchemeFactory>create()
             .register(AuthSchemes.BASIC.id, new BasicSchemeFactory())
             .register(AuthSchemes.DIGEST.id, new DigestSchemeFactory()).build();
         context.setAuthSchemeRegistry(authSchemeRegistry);
@@ -142,7 +142,7 @@ public class TestAuthenticationStrategy {
         challenges.put(AuthSchemes.DIGEST.id.toLowerCase(Locale.ROOT), new AuthChallenge(ChallengeType.TARGET, AuthSchemes.DIGEST.id,
                 new BasicNameValuePair("realm", "realm2"), new BasicNameValuePair("nonce", "1234")));
 
-        final Registry<AuthSchemeProvider> authSchemeRegistry = RegistryBuilder.<AuthSchemeProvider>create()
+        final Registry<AuthSchemeFactory> authSchemeRegistry = RegistryBuilder.<AuthSchemeFactory>create()
             .register(AuthSchemes.BASIC.id, new BasicSchemeFactory())
             .register(AuthSchemes.DIGEST.id, new DigestSchemeFactory()).build();
         context.setAuthSchemeRegistry(authSchemeRegistry);
diff --git a/httpclient5/src/test/java/org/apache/hc/client5/http/impl/auth/TestHttpAuthenticator.java b/httpclient5/src/test/java/org/apache/hc/client5/http/impl/auth/TestHttpAuthenticator.java
index 8a9e44f..2c0247b 100644
--- a/httpclient5/src/test/java/org/apache/hc/client5/http/impl/auth/TestHttpAuthenticator.java
+++ b/httpclient5/src/test/java/org/apache/hc/client5/http/impl/auth/TestHttpAuthenticator.java
@@ -32,7 +32,7 @@ import java.util.Queue;
 import org.apache.hc.client5.http.auth.AuthCache;
 import org.apache.hc.client5.http.auth.AuthExchange;
 import org.apache.hc.client5.http.auth.AuthScheme;
-import org.apache.hc.client5.http.auth.AuthSchemeProvider;
+import org.apache.hc.client5.http.auth.AuthSchemeFactory;
 import org.apache.hc.client5.http.auth.AuthScope;
 import org.apache.hc.client5.http.auth.AuthStateCacheable;
 import org.apache.hc.client5.http.auth.AuthenticationException;
@@ -79,7 +79,7 @@ public class TestHttpAuthenticator {
     private HttpContext context;
     private HttpHost defaultHost;
     private CredentialsProvider credentialsProvider;
-    private Lookup<AuthSchemeProvider> authSchemeRegistry;
+    private Lookup<AuthSchemeFactory> authSchemeRegistry;
     private AuthCache authCache;
     private HttpAuthenticator httpAuthenticator;
 
@@ -93,7 +93,7 @@ public class TestHttpAuthenticator {
         this.defaultHost = new HttpHost("localhost", 80);
         this.credentialsProvider = Mockito.mock(CredentialsProvider.class);
         this.context.setAttribute(HttpClientContext.CREDS_PROVIDER, this.credentialsProvider);
-        this.authSchemeRegistry = RegistryBuilder.<AuthSchemeProvider>create()
+        this.authSchemeRegistry = RegistryBuilder.<AuthSchemeFactory>create()
             .register(AuthSchemes.BASIC.id, new BasicSchemeFactory())
             .register(AuthSchemes.DIGEST.id, new DigestSchemeFactory())
             .register(AuthSchemes.NTLM.id, new NTLMSchemeFactory()).build();
diff --git a/httpclient5/src/test/java/org/apache/hc/client5/http/impl/classic/TestInternalHttpClient.java b/httpclient5/src/test/java/org/apache/hc/client5/http/impl/classic/TestInternalHttpClient.java
index 4100a99..bc905ee 100644
--- a/httpclient5/src/test/java/org/apache/hc/client5/http/impl/classic/TestInternalHttpClient.java
+++ b/httpclient5/src/test/java/org/apache/hc/client5/http/impl/classic/TestInternalHttpClient.java
@@ -32,13 +32,13 @@ import java.util.Arrays;
 
 import org.apache.hc.client5.http.ClientProtocolException;
 import org.apache.hc.client5.http.HttpRoute;
-import org.apache.hc.client5.http.auth.AuthSchemeProvider;
+import org.apache.hc.client5.http.auth.AuthSchemeFactory;
 import org.apache.hc.client5.http.auth.CredentialsProvider;
 import org.apache.hc.client5.http.classic.ExecChain;
 import org.apache.hc.client5.http.classic.ExecChainHandler;
 import org.apache.hc.client5.http.classic.methods.HttpGet;
 import org.apache.hc.client5.http.config.RequestConfig;
-import org.apache.hc.client5.http.cookie.CookieSpecProvider;
+import org.apache.hc.client5.http.cookie.CookieSpecFactory;
 import org.apache.hc.client5.http.cookie.CookieStore;
 import org.apache.hc.client5.http.io.HttpClientConnectionManager;
 import org.apache.hc.client5.http.protocol.HttpClientContext;
@@ -70,9 +70,9 @@ public class TestInternalHttpClient {
     @Mock
     private HttpRoutePlanner routePlanner;
     @Mock
-    private Lookup<CookieSpecProvider> cookieSpecRegistry;
+    private Lookup<CookieSpecFactory> cookieSpecRegistry;
     @Mock
-    private Lookup<AuthSchemeProvider> authSchemeRegistry;
+    private Lookup<AuthSchemeFactory> authSchemeRegistry;
     @Mock
     private CookieStore cookieStore;
     @Mock
@@ -175,8 +175,8 @@ public class TestInternalHttpClient {
 
         final HttpClientContext context = HttpClientContext.create();
 
-        final Lookup<CookieSpecProvider> localCookieSpecRegistry = Mockito.mock(Lookup.class);
-        final Lookup<AuthSchemeProvider> localAuthSchemeRegistry = Mockito.mock(Lookup.class);
+        final Lookup<CookieSpecFactory> localCookieSpecRegistry = Mockito.mock(Lookup.class);
+        final Lookup<AuthSchemeFactory> localAuthSchemeRegistry = Mockito.mock(Lookup.class);
         final CookieStore localCookieStore = Mockito.mock(CookieStore.class);
         final CredentialsProvider localCredentialsProvider = Mockito.mock(CredentialsProvider.class);
         final RequestConfig localConfig = RequestConfig.custom().build();
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 2ad239d..4c50d3f 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
@@ -36,11 +36,11 @@ import org.apache.hc.client5.http.config.RequestConfig;
 import org.apache.hc.client5.http.cookie.BasicCookieStore;
 import org.apache.hc.client5.http.cookie.CookieOrigin;
 import org.apache.hc.client5.http.cookie.CookieSpec;
-import org.apache.hc.client5.http.cookie.CookieSpecProvider;
+import org.apache.hc.client5.http.cookie.CookieSpecFactory;
 import org.apache.hc.client5.http.cookie.CookieStore;
 import org.apache.hc.client5.http.impl.cookie.BasicClientCookie;
-import org.apache.hc.client5.http.impl.cookie.IgnoreSpecProvider;
-import org.apache.hc.client5.http.impl.cookie.RFC6265CookieSpecProvider;
+import org.apache.hc.client5.http.impl.cookie.IgnoreCookieSpecFactory;
+import org.apache.hc.client5.http.impl.cookie.RFC6265CookieSpecFactory;
 import org.apache.hc.client5.http.impl.cookie.RFC6265StrictSpec;
 import org.apache.hc.core5.http.Header;
 import org.apache.hc.core5.http.HttpHost;
@@ -60,7 +60,7 @@ public class TestRequestAddCookies {
 
     private HttpHost target;
     private CookieStore cookieStore;
-    private Lookup<CookieSpecProvider> cookieSpecRegistry;
+    private Lookup<CookieSpecFactory> cookieSpecRegistry;
 
     @Before
     public void setUp() {
@@ -75,12 +75,12 @@ public class TestRequestAddCookies {
         cookie2.setPath("/");
         this.cookieStore.addCookie(cookie2);
 
-        this.cookieSpecRegistry = RegistryBuilder.<CookieSpecProvider>create()
-            .register(CookieSpecs.STANDARD.id, new RFC6265CookieSpecProvider(
-                    RFC6265CookieSpecProvider.CompatibilityLevel.RELAXED, null))
-            .register(CookieSpecs.STANDARD_STRICT.id,  new RFC6265CookieSpecProvider(
-                    RFC6265CookieSpecProvider.CompatibilityLevel.STRICT, null))
-            .register(CookieSpecs.IGNORE_COOKIES.id, new IgnoreSpecProvider())
+        this.cookieSpecRegistry = RegistryBuilder.<CookieSpecFactory>create()
+            .register(CookieSpecs.STANDARD.id, new RFC6265CookieSpecFactory(
+                    RFC6265CookieSpecFactory.CompatibilityLevel.RELAXED, null))
+            .register(CookieSpecs.STANDARD_STRICT.id,  new RFC6265CookieSpecFactory(
+                    RFC6265CookieSpecFactory.CompatibilityLevel.STRICT, null))
+            .register(CookieSpecs.IGNORE_COOKIES.id, new IgnoreCookieSpecFactory())
             .build();
     }