You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2021/11/07 20:38:20 UTC

[httpcomponents-core] branch master updated: Create singleton INSTANCE to RequestConnControl, RequestContent, RequestData, RequestTargetHost and RequestUserAgent.

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

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


The following commit(s) were added to refs/heads/master by this push:
     new e59f2fa  Create singleton INSTANCE to RequestConnControl, RequestContent, RequestData, RequestTargetHost and RequestUserAgent.
e59f2fa is described below

commit e59f2fa686a60463906a681177fb7c3a869694d5
Author: Arturo Bernal <ar...@gmail.com>
AuthorDate: Sun Nov 7 19:13:28 2021 +0100

    Create singleton INSTANCE to RequestConnControl, RequestContent, RequestData, RequestTargetHost and RequestUserAgent.
---
 .../testing/classic/ClassicIntegrationTest.java    | 16 +++---
 .../hc/core5/testing/nio/Http1IntegrationTest.java |  4 +-
 .../apache/hc/core5/http/impl/HttpProcessors.java  |  6 +--
 .../hc/core5/http/protocol/RequestConnControl.java |  6 +++
 .../hc/core5/http/protocol/RequestContent.java     |  6 +++
 .../apache/hc/core5/http/protocol/RequestDate.java |  6 +++
 .../hc/core5/http/protocol/RequestTargetHost.java  |  6 +++
 .../hc/core5/http/protocol/RequestUserAgent.java   |  6 +++
 .../hc/core5/http/protocol/TestChainBuilder.java   |  8 +--
 .../http/protocol/TestStandardInterceptors.java    | 61 +++++++++++-----------
 10 files changed, 78 insertions(+), 47 deletions(-)

diff --git a/httpcore5-testing/src/test/java/org/apache/hc/core5/testing/classic/ClassicIntegrationTest.java b/httpcore5-testing/src/test/java/org/apache/hc/core5/testing/classic/ClassicIntegrationTest.java
index 1427fc8..fdb47e6 100644
--- a/httpcore5-testing/src/test/java/org/apache/hc/core5/testing/classic/ClassicIntegrationTest.java
+++ b/httpcore5-testing/src/test/java/org/apache/hc/core5/testing/classic/ClassicIntegrationTest.java
@@ -658,9 +658,9 @@ public class ClassicIntegrationTest {
 
         this.server.start();
         this.client.start(new DefaultHttpProcessor(
-                new RequestTargetHost(),
-                new RequestConnControl(),
-                new RequestUserAgent(),
+                RequestTargetHost.INSTANCE,
+                RequestConnControl.INSTANCE,
+                RequestUserAgent.INSTANCE,
                 new RequestExpectContinue()));
 
         final HttpCoreContext context = HttpCoreContext.create();
@@ -690,9 +690,9 @@ public class ClassicIntegrationTest {
         this.server.start();
         this.client.start(new DefaultHttpProcessor(
                 (request, entity, context) -> request.addHeader(HttpHeaders.TRANSFER_ENCODING, "identity"),
-                new RequestTargetHost(),
-                new RequestConnControl(),
-                new RequestUserAgent(),
+                RequestTargetHost.INSTANCE,
+                RequestConnControl.INSTANCE,
+                RequestUserAgent.INSTANCE,
                 new RequestExpectContinue()));
 
         final HttpCoreContext context = HttpCoreContext.create();
@@ -735,7 +735,7 @@ public class ClassicIntegrationTest {
         this.server.registerHandler("*", (request, response, context) -> response.setEntity(new StringEntity("All is well", StandardCharsets.US_ASCII)));
 
         this.server.start();
-        this.client.start(new DefaultHttpProcessor(new RequestContent(), new RequestConnControl()));
+        this.client.start(new DefaultHttpProcessor(RequestContent.INSTANCE, new RequestConnControl()));
 
         final HttpCoreContext context = HttpCoreContext.create();
         final HttpHost host = new HttpHost(scheme.id, "localhost", this.server.getPort());
@@ -789,7 +789,7 @@ public class ClassicIntegrationTest {
                 null,
                 null);
         this.client.start(
-                new DefaultHttpProcessor(new RequestContent(), new RequestTargetHost(), new RequestConnControl()));
+                new DefaultHttpProcessor(RequestContent.INSTANCE, RequestTargetHost.INSTANCE, RequestConnControl.INSTANCE));
 
         final HttpCoreContext context = HttpCoreContext.create();
         final HttpHost host = new HttpHost(scheme.id, "localhost", this.server.getPort());
diff --git a/httpcore5-testing/src/test/java/org/apache/hc/core5/testing/nio/Http1IntegrationTest.java b/httpcore5-testing/src/test/java/org/apache/hc/core5/testing/nio/Http1IntegrationTest.java
index f27927f..57b0f20 100644
--- a/httpcore5-testing/src/test/java/org/apache/hc/core5/testing/nio/Http1IntegrationTest.java
+++ b/httpcore5-testing/src/test/java/org/apache/hc/core5/testing/nio/Http1IntegrationTest.java
@@ -1538,7 +1538,7 @@ public class Http1IntegrationTest extends InternalHttp1ServerTestBase {
         server.register("/hello", () -> new SingleLineResponseHandler("Hi there"));
         final InetSocketAddress serverEndpoint = server.start();
 
-        client.start(new DefaultHttpProcessor(new RequestContent(), new RequestConnControl()), Http1Config.DEFAULT);
+        client.start(new DefaultHttpProcessor(RequestContent.INSTANCE, RequestConnControl.INSTANCE), Http1Config.DEFAULT);
 
         final Future<ClientSessionEndpoint> connectFuture = client.connect(
                 "localhost", serverEndpoint.getPort(), TIMEOUT);
@@ -1730,7 +1730,7 @@ public class Http1IntegrationTest extends InternalHttp1ServerTestBase {
                 .setMaxLineLength(100)
                 .build());
         client.start(
-                new DefaultHttpProcessor(new RequestContent(), new RequestTargetHost(), new RequestConnControl()), null);
+                new DefaultHttpProcessor(RequestContent.INSTANCE, RequestTargetHost.INSTANCE, RequestConnControl.INSTANCE), null);
 
         final Future<ClientSessionEndpoint> connectFuture = client.connect(
                 "localhost", serverEndpoint.getPort(), TIMEOUT);
diff --git a/httpcore5/src/main/java/org/apache/hc/core5/http/impl/HttpProcessors.java b/httpcore5/src/main/java/org/apache/hc/core5/http/impl/HttpProcessors.java
index d21c812..1834324 100644
--- a/httpcore5/src/main/java/org/apache/hc/core5/http/impl/HttpProcessors.java
+++ b/httpcore5/src/main/java/org/apache/hc/core5/http/impl/HttpProcessors.java
@@ -100,9 +100,9 @@ public final class HttpProcessors {
     public static HttpProcessorBuilder customClient(final String agentInfo) {
         return HttpProcessorBuilder.create()
                 .addAll(
-                        new RequestContent(),
-                        new RequestTargetHost(),
-                        new RequestConnControl(),
+                        RequestContent.INSTANCE,
+                        RequestTargetHost.INSTANCE,
+                        RequestConnControl.INSTANCE,
                         new RequestUserAgent(!TextUtils.isBlank(agentInfo) ? agentInfo :
                                 VersionInfo.getSoftwareInfo(SOFTWARE, "org.apache.hc.core5", HttpProcessors.class)),
                         new RequestExpectContinue());
diff --git a/httpcore5/src/main/java/org/apache/hc/core5/http/protocol/RequestConnControl.java b/httpcore5/src/main/java/org/apache/hc/core5/http/protocol/RequestConnControl.java
index 511702b..2a1d77a 100644
--- a/httpcore5/src/main/java/org/apache/hc/core5/http/protocol/RequestConnControl.java
+++ b/httpcore5/src/main/java/org/apache/hc/core5/http/protocol/RequestConnControl.java
@@ -51,6 +51,12 @@ import org.apache.hc.core5.util.Args;
 @Contract(threading = ThreadingBehavior.IMMUTABLE)
 public class RequestConnControl implements HttpRequestInterceptor {
 
+    /**
+     * Singleton instance.
+     * @since 5.2
+     */
+    public static final HttpRequestInterceptor INSTANCE = new RequestConnControl();
+
     public RequestConnControl() {
         super();
     }
diff --git a/httpcore5/src/main/java/org/apache/hc/core5/http/protocol/RequestContent.java b/httpcore5/src/main/java/org/apache/hc/core5/http/protocol/RequestContent.java
index 3f3297e..9151fd4 100644
--- a/httpcore5/src/main/java/org/apache/hc/core5/http/protocol/RequestContent.java
+++ b/httpcore5/src/main/java/org/apache/hc/core5/http/protocol/RequestContent.java
@@ -57,6 +57,12 @@ import org.apache.hc.core5.util.Args;
 @Contract(threading = ThreadingBehavior.IMMUTABLE)
 public class RequestContent implements HttpRequestInterceptor {
 
+    /**
+     * Singleton instance.
+     * @since 5.2
+     */
+    public static final HttpRequestInterceptor INSTANCE = new RequestContent();
+
     private final boolean overwrite;
 
     /**
diff --git a/httpcore5/src/main/java/org/apache/hc/core5/http/protocol/RequestDate.java b/httpcore5/src/main/java/org/apache/hc/core5/http/protocol/RequestDate.java
index c044192..4111f8a 100644
--- a/httpcore5/src/main/java/org/apache/hc/core5/http/protocol/RequestDate.java
+++ b/httpcore5/src/main/java/org/apache/hc/core5/http/protocol/RequestDate.java
@@ -48,6 +48,12 @@ import org.apache.hc.core5.util.Args;
 @Contract(threading = ThreadingBehavior.SAFE)
 public class RequestDate implements HttpRequestInterceptor {
 
+    /**
+     * Singleton instance.
+     * @since 5.2
+     */
+    public static final HttpRequestInterceptor INSTANCE = new RequestDate();
+
     public RequestDate() {
         super();
     }
diff --git a/httpcore5/src/main/java/org/apache/hc/core5/http/protocol/RequestTargetHost.java b/httpcore5/src/main/java/org/apache/hc/core5/http/protocol/RequestTargetHost.java
index 69c757a..833898a 100644
--- a/httpcore5/src/main/java/org/apache/hc/core5/http/protocol/RequestTargetHost.java
+++ b/httpcore5/src/main/java/org/apache/hc/core5/http/protocol/RequestTargetHost.java
@@ -52,6 +52,12 @@ import org.apache.hc.core5.util.Args;
 @Contract(threading = ThreadingBehavior.IMMUTABLE)
 public class RequestTargetHost implements HttpRequestInterceptor {
 
+    /**
+     * Singleton instance.
+     * @since 5.2
+     */
+    public static final HttpRequestInterceptor INSTANCE = new RequestTargetHost();
+
     public RequestTargetHost() {
         super();
     }
diff --git a/httpcore5/src/main/java/org/apache/hc/core5/http/protocol/RequestUserAgent.java b/httpcore5/src/main/java/org/apache/hc/core5/http/protocol/RequestUserAgent.java
index e997426..96f6746 100644
--- a/httpcore5/src/main/java/org/apache/hc/core5/http/protocol/RequestUserAgent.java
+++ b/httpcore5/src/main/java/org/apache/hc/core5/http/protocol/RequestUserAgent.java
@@ -47,6 +47,12 @@ import org.apache.hc.core5.util.Args;
 @Contract(threading = ThreadingBehavior.IMMUTABLE)
 public class RequestUserAgent implements HttpRequestInterceptor {
 
+    /**
+     * Singleton instance.
+     * @since 5.2
+     */
+    public static final HttpRequestInterceptor INSTANCE = new RequestUserAgent();
+
     private final String userAgent;
 
     public RequestUserAgent(final String userAgent) {
diff --git a/httpcore5/src/test/java/org/apache/hc/core5/http/protocol/TestChainBuilder.java b/httpcore5/src/test/java/org/apache/hc/core5/http/protocol/TestChainBuilder.java
index 30ce6d0..d608e3a 100644
--- a/httpcore5/src/test/java/org/apache/hc/core5/http/protocol/TestChainBuilder.java
+++ b/httpcore5/src/test/java/org/apache/hc/core5/http/protocol/TestChainBuilder.java
@@ -39,10 +39,10 @@ public class TestChainBuilder {
     @Test
     public void testBuildChain() throws Exception {
         final ChainBuilder<HttpRequestInterceptor> cb = new ChainBuilder<>();
-        final HttpRequestInterceptor i1 = new RequestContent();
-        final HttpRequestInterceptor i2 = new RequestTargetHost();
-        final HttpRequestInterceptor i3 = new RequestConnControl();
-        final HttpRequestInterceptor i4 = new RequestUserAgent();
+        final HttpRequestInterceptor i1 = RequestContent.INSTANCE;
+        final HttpRequestInterceptor i2 = RequestTargetHost.INSTANCE;
+        final HttpRequestInterceptor i3 = RequestConnControl.INSTANCE;
+        final HttpRequestInterceptor i4 = RequestUserAgent.INSTANCE;
         final HttpRequestInterceptor i5 = new RequestExpectContinue();
         cb.addFirst(i1);
         cb.addAllFirst(i2, i3);
diff --git a/httpcore5/src/test/java/org/apache/hc/core5/http/protocol/TestStandardInterceptors.java b/httpcore5/src/test/java/org/apache/hc/core5/http/protocol/TestStandardInterceptors.java
index 4565454..f800f4d 100644
--- a/httpcore5/src/test/java/org/apache/hc/core5/http/protocol/TestStandardInterceptors.java
+++ b/httpcore5/src/test/java/org/apache/hc/core5/http/protocol/TestStandardInterceptors.java
@@ -34,6 +34,7 @@ import org.apache.hc.core5.http.ContentType;
 import org.apache.hc.core5.http.Header;
 import org.apache.hc.core5.http.HeaderElements;
 import org.apache.hc.core5.http.HttpHeaders;
+import org.apache.hc.core5.http.HttpRequestInterceptor;
 import org.apache.hc.core5.http.HttpStatus;
 import org.apache.hc.core5.http.HttpVersion;
 import org.apache.hc.core5.http.Method;
@@ -55,7 +56,7 @@ public class TestStandardInterceptors {
     public void testRequestConnControlGenerated() throws Exception {
         final HttpContext context = new BasicHttpContext(null);
         final BasicClassicHttpRequest request = new BasicClassicHttpRequest(Method.GET, "/");
-        final RequestConnControl interceptor = new RequestConnControl();
+        final HttpRequestInterceptor interceptor = RequestConnControl.INSTANCE;
         interceptor.process(request, request.getEntity(), context);
         final Header header = request.getFirstHeader(HttpHeaders.CONNECTION);
         Assert.assertNotNull(header);
@@ -66,7 +67,7 @@ public class TestStandardInterceptors {
     public void testRequestConnControlConnectMethod() throws Exception {
         final HttpContext context = new BasicHttpContext(null);
         final BasicClassicHttpRequest request = new BasicClassicHttpRequest(Method.CONNECT, "/");
-        final RequestConnControl interceptor = new RequestConnControl();
+        final HttpRequestInterceptor interceptor = RequestConnControl.INSTANCE;
         interceptor.process(request, request.getEntity(), context);
         final Header header = request.getFirstHeader(HttpHeaders.CONNECTION);
         Assert.assertNull(header);
@@ -78,7 +79,7 @@ public class TestStandardInterceptors {
         final BasicClassicHttpRequest request = new BasicClassicHttpRequest(Method.GET, "/");
         final Header myheader = new BasicHeader(HttpHeaders.CONNECTION, "close");
         request.addHeader(myheader);
-        final RequestConnControl interceptor = new RequestConnControl();
+        final HttpRequestInterceptor interceptor = RequestConnControl.INSTANCE;
         interceptor.process(request, request.getEntity(), context);
         final Header header = request.getFirstHeader(HttpHeaders.CONNECTION);
         Assert.assertNotNull(header);
@@ -91,7 +92,7 @@ public class TestStandardInterceptors {
         final HttpContext context = new BasicHttpContext(null);
         final BasicClassicHttpRequest request = new BasicClassicHttpRequest(Method.GET, "/");
         request.addHeader(HttpHeaders.UPGRADE, "HTTP/2");
-        final RequestConnControl interceptor = new RequestConnControl();
+        final HttpRequestInterceptor interceptor = RequestConnControl.INSTANCE;
         interceptor.process(request, request.getEntity(), context);
         final Header header = request.getFirstHeader(HttpHeaders.CONNECTION);
         Assert.assertNotNull(header);
@@ -100,7 +101,7 @@ public class TestStandardInterceptors {
 
     @Test
     public void testRequestConnControlInvalidInput() throws Exception {
-        final RequestConnControl interceptor = new RequestConnControl();
+        final HttpRequestInterceptor interceptor = RequestConnControl.INSTANCE;
         Assert.assertThrows(NullPointerException.class, () -> interceptor.process(null, null, null));
     }
 
@@ -112,7 +113,7 @@ public class TestStandardInterceptors {
         final BasicClassicHttpRequest request2 = new BasicClassicHttpRequest(Method.POST, "/");
         request2.addHeader(new BasicHeader(HttpHeaders.CONTENT_LENGTH, "12"));
 
-        final RequestContent interceptor = new RequestContent();
+        final HttpRequestInterceptor interceptor = RequestContent.INSTANCE;
         Assert.assertThrows(ProtocolException.class, () ->
                 interceptor.process(request1, request1.getEntity(), context));
         Assert.assertThrows(ProtocolException.class, () ->
@@ -124,7 +125,7 @@ public class TestStandardInterceptors {
         final HttpContext context = new BasicHttpContext(null);
         final BasicClassicHttpRequest request = new BasicClassicHttpRequest(Method.POST, "/");
 
-        final RequestContent interceptor = new RequestContent();
+        final HttpRequestInterceptor interceptor = RequestContent.INSTANCE;
         interceptor.process(request, request.getEntity(), context);
         final Header header = request.getFirstHeader(HttpHeaders.CONTENT_LENGTH);
         Assert.assertNull(header);
@@ -137,7 +138,7 @@ public class TestStandardInterceptors {
         final BasicClassicHttpRequest request = new BasicClassicHttpRequest(Method.POST, "/");
         request.setEntity(new StringEntity("whatever", StandardCharsets.US_ASCII));
 
-        final RequestContent interceptor = new RequestContent();
+        final HttpRequestInterceptor interceptor = RequestContent.INSTANCE;
         interceptor.process(request, request.getEntity(), context);
         final Header header = request.getFirstHeader(HttpHeaders.CONTENT_LENGTH);
         Assert.assertNotNull(header);
@@ -151,7 +152,7 @@ public class TestStandardInterceptors {
         final BasicClassicHttpRequest request = new BasicClassicHttpRequest(Method.POST, "/");
         request.setEntity(new StringEntity("whatever", StandardCharsets.US_ASCII, true));
 
-        final RequestContent interceptor = new RequestContent();
+        final HttpRequestInterceptor interceptor = RequestContent.INSTANCE;
         interceptor.process(request, request.getEntity(), context);
         final Header header = request.getFirstHeader(HttpHeaders.TRANSFER_ENCODING);
         Assert.assertNotNull(header);
@@ -165,7 +166,7 @@ public class TestStandardInterceptors {
         final BasicClassicHttpRequest request = new BasicClassicHttpRequest(Method.POST, "/");
         request.setEntity(new BasicHttpEntity(EmptyInputStream.INSTANCE, -1, null));
 
-        final RequestContent interceptor = new RequestContent();
+        final HttpRequestInterceptor interceptor = RequestContent.INSTANCE;
         interceptor.process(request, request.getEntity(), context);
         final Header header = request.getFirstHeader(HttpHeaders.TRANSFER_ENCODING);
         Assert.assertNotNull(header);
@@ -180,7 +181,7 @@ public class TestStandardInterceptors {
         final BasicClassicHttpRequest request = new BasicClassicHttpRequest(Method.POST, "/");
         request.setEntity(new StringEntity("whatever", StandardCharsets.US_ASCII, true));
 
-        final RequestContent interceptor = new RequestContent();
+        final HttpRequestInterceptor interceptor = RequestContent.INSTANCE;
         Assert.assertThrows(ProtocolException.class, () ->
                 interceptor.process(request, request.getEntity(), context));
     }
@@ -192,7 +193,7 @@ public class TestStandardInterceptors {
         request.setEntity(new BasicHttpEntity(EmptyInputStream.INSTANCE,
                 ContentType.parseLenient("whatever"), "whatever"));
 
-        final RequestContent interceptor = new RequestContent();
+        final HttpRequestInterceptor interceptor = RequestContent.INSTANCE;
         interceptor.process(request, request.getEntity(), context);
         final Header h1 = request.getFirstHeader(HttpHeaders.CONTENT_TYPE);
         Assert.assertNotNull(h1);
@@ -208,7 +209,7 @@ public class TestStandardInterceptors {
         final BasicClassicHttpRequest request = new BasicClassicHttpRequest(Method.POST, "/");
         request.setEntity(new BasicHttpEntity(EmptyInputStream.INSTANCE, null, null));
 
-        final RequestContent interceptor = new RequestContent();
+        final HttpRequestInterceptor interceptor = RequestContent.INSTANCE;
         interceptor.process(request, request.getEntity(), context);
         Assert.assertNull(request.getFirstHeader(HttpHeaders.CONTENT_TYPE));
         Assert.assertNull(request.getFirstHeader(HttpHeaders.CONTENT_ENCODING));
@@ -221,14 +222,14 @@ public class TestStandardInterceptors {
         final BasicClassicHttpRequest request = new BasicClassicHttpRequest(Method.POST, "/");
         request.setEntity(new BasicHttpEntity(EmptyInputStream.INSTANCE, -1, null));
 
-        final RequestContent interceptor = new RequestContent();
+        final HttpRequestInterceptor interceptor = RequestContent.INSTANCE;
         Assert.assertThrows(ProtocolException.class, () ->
                 interceptor.process(request, request.getEntity(), context));
    }
 
     @Test
     public void testRequestContentInvalidInput() throws Exception {
-        final RequestContent interceptor = new RequestContent();
+        final HttpRequestInterceptor interceptor = RequestContent.INSTANCE;
         Assert.assertThrows(NullPointerException.class, () ->
                 interceptor.process(null, null, null));
     }
@@ -237,7 +238,7 @@ public class TestStandardInterceptors {
     public void testRequestContentIgnoreNonenclosingRequests() throws Exception {
         final HttpContext context = new BasicHttpContext(null);
         final BasicClassicHttpRequest request = new BasicClassicHttpRequest(Method.POST, "/");
-        final RequestContent interceptor = new RequestContent();
+        final HttpRequestInterceptor interceptor = RequestContent.INSTANCE;
         interceptor.process(request, request.getEntity(), context);
         Assert.assertEquals(0, request.getHeaders().length);
     }
@@ -277,7 +278,7 @@ public class TestStandardInterceptors {
         request.setEntity(HttpEntities.create("whatever", StandardCharsets.US_ASCII,
                 new BasicHeader("h1", "this"), new BasicHeader("h1", "that"), new BasicHeader("h2", "this and that")));
 
-        final RequestContent interceptor = new RequestContent();
+        final HttpRequestInterceptor interceptor = RequestContent.INSTANCE;
         interceptor.process(request, request.getEntity(), context);
         final Header header1 = request.getFirstHeader(HttpHeaders.TRANSFER_ENCODING);
         Assert.assertNotNull(header1);
@@ -291,7 +292,7 @@ public class TestStandardInterceptors {
         final HttpContext context = new BasicHttpContext(null);
         final BasicClassicHttpRequest request = new BasicClassicHttpRequest(Method.TRACE, "/");
         request.setEntity(new StringEntity("stuff"));
-        final RequestContent interceptor = new RequestContent();
+        final HttpRequestInterceptor interceptor = RequestContent.INSTANCE;
         Assert.assertThrows(ProtocolException.class, () ->
                 interceptor.process(request, request.getEntity(), context));
     }
@@ -352,7 +353,7 @@ public class TestStandardInterceptors {
         final HttpContext context = new BasicHttpContext(null);
         final BasicClassicHttpRequest request = new BasicClassicHttpRequest(Method.GET, "/");
         request.setAuthority(new URIAuthority("somehost", 8080));
-        final RequestTargetHost interceptor = new RequestTargetHost();
+        final HttpRequestInterceptor interceptor = RequestTargetHost.INSTANCE;
         interceptor.process(request, request.getEntity(), context);
         final Header header = request.getFirstHeader(HttpHeaders.HOST);
         Assert.assertNotNull(header);
@@ -365,7 +366,7 @@ public class TestStandardInterceptors {
         final BasicClassicHttpRequest request = new BasicClassicHttpRequest(Method.GET, "/");
         request.setAuthority(new URIAuthority("somehost", 8080));
         request.addHeader(new BasicHeader(HttpHeaders.HOST, "whatever"));
-        final RequestTargetHost interceptor = new RequestTargetHost();
+        final HttpRequestInterceptor interceptor = RequestTargetHost.INSTANCE;
         interceptor.process(request, request.getEntity(), context);
         final Header header = request.getFirstHeader(HttpHeaders.HOST);
         Assert.assertNotNull(header);
@@ -377,7 +378,7 @@ public class TestStandardInterceptors {
         final HttpContext context = new BasicHttpContext(null);
         context.setProtocolVersion(HttpVersion.HTTP_1_0);
         final BasicClassicHttpRequest request = new BasicClassicHttpRequest(Method.GET, "/");
-        final RequestTargetHost interceptor = new RequestTargetHost();
+        final HttpRequestInterceptor interceptor = RequestTargetHost.INSTANCE;
         interceptor.process(request, request.getEntity(), context);
         final Header header = request.getFirstHeader(HttpHeaders.HOST);
         Assert.assertNull(header);
@@ -387,14 +388,14 @@ public class TestStandardInterceptors {
     public void testRequestTargetHostMissingHostHTTP11() throws Exception {
         final HttpContext context = new BasicHttpContext(null);
         final BasicClassicHttpRequest request = new BasicClassicHttpRequest(Method.GET, "/");
-        final RequestTargetHost interceptor = new RequestTargetHost();
+        final HttpRequestInterceptor interceptor = RequestTargetHost.INSTANCE;
         Assert.assertThrows(ProtocolException.class, () ->
                 interceptor.process(request, request.getEntity(), context));
     }
 
     @Test
     public void testRequestTargetHostInvalidInput() throws Exception {
-        final RequestTargetHost interceptor = new RequestTargetHost();
+        final HttpRequestInterceptor interceptor = RequestTargetHost.INSTANCE;
         Assert.assertThrows(NullPointerException.class, () ->
                 interceptor.process(null, null, null));
         Assert.assertThrows(NullPointerException.class, () ->
@@ -406,7 +407,7 @@ public class TestStandardInterceptors {
         final HttpContext context = new BasicHttpContext(null);
         final BasicClassicHttpRequest request = new BasicClassicHttpRequest(Method.CONNECT, "/");
         request.setAuthority(new URIAuthority("somehost", 8080));
-        final RequestTargetHost interceptor = new RequestTargetHost();
+        final HttpRequestInterceptor interceptor = RequestTargetHost.INSTANCE;
         interceptor.process(request, request.getEntity(), context);
         final Header header = request.getFirstHeader(HttpHeaders.HOST);
         Assert.assertNotNull(header);
@@ -419,7 +420,7 @@ public class TestStandardInterceptors {
         context.setProtocolVersion(HttpVersion.HTTP_1_0);
         final BasicClassicHttpRequest request = new BasicClassicHttpRequest(Method.CONNECT, "/");
         request.setAuthority(new URIAuthority("somehost", 8080));
-        final RequestTargetHost interceptor = new RequestTargetHost();
+        final HttpRequestInterceptor interceptor = RequestTargetHost.INSTANCE;
         interceptor.process(request, request.getEntity(), context);
         final Header header = request.getFirstHeader(HttpHeaders.HOST);
         Assert.assertNull(header);
@@ -452,7 +453,7 @@ public class TestStandardInterceptors {
     public void testRequestUserAgentMissingUserAgent() throws Exception {
         final HttpContext context = new BasicHttpContext(null);
         final BasicClassicHttpRequest request = new BasicClassicHttpRequest(Method.GET, "/");
-        final RequestUserAgent interceptor = new RequestUserAgent();
+        final HttpRequestInterceptor interceptor = RequestUserAgent.INSTANCE;
         interceptor.process(request, request.getEntity(), context);
         final Header header = request.getFirstHeader(HttpHeaders.USER_AGENT);
         Assert.assertNull(header);
@@ -460,7 +461,7 @@ public class TestStandardInterceptors {
 
     @Test
     public void testRequestUserAgentInvalidInput() throws Exception {
-        final RequestUserAgent interceptor = new RequestUserAgent();
+        final HttpRequestInterceptor interceptor = RequestUserAgent.INSTANCE;
         Assert.assertThrows(NullPointerException.class, () -> interceptor.process(null, null, null));
     }
 
@@ -871,7 +872,7 @@ public class TestStandardInterceptors {
         final BasicClassicHttpRequest request = new BasicClassicHttpRequest(Method.POST, "/");
         request.setEntity(new StringEntity("stuff"));
 
-        final RequestDate interceptor = new RequestDate();
+        final HttpRequestInterceptor interceptor = RequestDate.INSTANCE;
         interceptor.process(request, request.getEntity(), context);
         final Header h1 = request.getFirstHeader(HttpHeaders.DATE);
         Assert.assertNotNull(h1);
@@ -885,7 +886,7 @@ public class TestStandardInterceptors {
         final HttpContext context = new BasicHttpContext(null);
         final BasicClassicHttpRequest request = new BasicClassicHttpRequest(Method.GET, "/");
 
-        final RequestDate interceptor = new RequestDate();
+        final HttpRequestInterceptor interceptor = RequestDate.INSTANCE;
         interceptor.process(request, request.getEntity(), context);
         final Header h1 = request.getFirstHeader(HttpHeaders.DATE);
         Assert.assertNull(h1);
@@ -893,7 +894,7 @@ public class TestStandardInterceptors {
 
     @Test
     public void testRequestDateInvalidInput() throws Exception {
-        final RequestDate interceptor = new RequestDate();
+        final HttpRequestInterceptor interceptor = RequestDate.INSTANCE;
         Assert.assertThrows(NullPointerException.class, () ->
                 interceptor.process(null, null, null));
     }