From e593019e4255901f085262552ee6a7224770783a Mon Sep 17 00:00:00 2001 From: markt Date: Sun, 19 Jun 2011 15:00:40 +0000 Subject: [PATCH] Pull up common endpoint code in Processor constructors git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1137375 13f79535-47bb-0310-9956-ffa450edef68 --- java/org/apache/coyote/AbstractProcessor.java | 21 +++++++++++---------- .../org/apache/coyote/ajp/AbstractAjpProcessor.java | 4 +++- .../coyote/http11/AbstractHttp11Processor.java | 6 ++++++ .../apache/coyote/http11/Http11AprProcessor.java | 2 +- .../apache/coyote/http11/Http11NioProcessor.java | 2 +- java/org/apache/coyote/http11/Http11Processor.java | 2 +- 6 files changed, 23 insertions(+), 14 deletions(-) diff --git a/java/org/apache/coyote/AbstractProcessor.java b/java/org/apache/coyote/AbstractProcessor.java index 54b136d7f..14e2ab13f 100644 --- a/java/org/apache/coyote/AbstractProcessor.java +++ b/java/org/apache/coyote/AbstractProcessor.java @@ -21,15 +21,23 @@ import java.util.concurrent.Executor; import org.apache.tomcat.util.net.AbstractEndpoint; /** - * Provides attributes common to all support protocols (currently HTTP and AJP). - * TODO: There are more attributes that can be pulled up + * Provides functionality and attributes common to all supported protocols + * (currently HTTP and AJP). */ public abstract class AbstractProcessor implements ActionHook, Processor { + protected AbstractEndpoint endpoint; + protected Request request = null; + protected Response response = null; + + + public AbstractProcessor(AbstractEndpoint endpoint) { + this.endpoint = endpoint; + } + /** * The endpoint receiving connections that are handled by this processor. */ - protected AbstractEndpoint endpoint; protected AbstractEndpoint getEndpoint() { return endpoint; } @@ -38,18 +46,11 @@ public abstract class AbstractProcessor implements ActionHook, Processor { /** * The request associated with this processor. */ - protected Request request = null; public Request getRequest() { return request; } - /** - * The response associated with this processor. - */ - protected Response response = null; - - /* * Expose selected endpoint attributes through the processor */ diff --git a/java/org/apache/coyote/ajp/AbstractAjpProcessor.java b/java/org/apache/coyote/ajp/AbstractAjpProcessor.java index 17061c11c..28c5db93e 100644 --- a/java/org/apache/coyote/ajp/AbstractAjpProcessor.java +++ b/java/org/apache/coyote/ajp/AbstractAjpProcessor.java @@ -224,8 +224,10 @@ public abstract class AbstractAjpProcessor extends AbstractProcessor { // ------------------------------------------------------------ Constructor public AbstractAjpProcessor(int packetSize, AbstractEndpoint endpoint) { + + super(endpoint); + this.packetSize = packetSize; - this.endpoint = endpoint; request = new Request(); request.setInputBuffer(new SocketInputBuffer()); diff --git a/java/org/apache/coyote/http11/AbstractHttp11Processor.java b/java/org/apache/coyote/http11/AbstractHttp11Processor.java index 677b71121..ed3c8dffb 100644 --- a/java/org/apache/coyote/http11/AbstractHttp11Processor.java +++ b/java/org/apache/coyote/http11/AbstractHttp11Processor.java @@ -43,6 +43,7 @@ import org.apache.tomcat.util.buf.HexUtils; import org.apache.tomcat.util.buf.MessageBytes; import org.apache.tomcat.util.http.FastHttpDateFormat; import org.apache.tomcat.util.http.MimeHeaders; +import org.apache.tomcat.util.net.AbstractEndpoint; import org.apache.tomcat.util.net.AbstractEndpoint.Handler.SocketState; import org.apache.tomcat.util.res.StringManager; @@ -224,6 +225,11 @@ public abstract class AbstractHttp11Processor extends AbstractProcessor { protected AsyncStateMachine asyncStateMachine = new AsyncStateMachine(this); + public AbstractHttp11Processor(AbstractEndpoint endpoint) { + super(endpoint); + } + + /** * Set compression level. */ diff --git a/java/org/apache/coyote/http11/Http11AprProcessor.java b/java/org/apache/coyote/http11/Http11AprProcessor.java index 9926574c8..1c5ef3fde 100644 --- a/java/org/apache/coyote/http11/Http11AprProcessor.java +++ b/java/org/apache/coyote/http11/Http11AprProcessor.java @@ -68,7 +68,7 @@ public class Http11AprProcessor extends AbstractHttp11Processor { public Http11AprProcessor(int headerBufferSize, AprEndpoint endpoint, int maxTrailerSize) { - this.endpoint = endpoint; + super(endpoint); request = new Request(); inputBuffer = new InternalAprInputBuffer(request, headerBufferSize); diff --git a/java/org/apache/coyote/http11/Http11NioProcessor.java b/java/org/apache/coyote/http11/Http11NioProcessor.java index 469510317..7811cc056 100644 --- a/java/org/apache/coyote/http11/Http11NioProcessor.java +++ b/java/org/apache/coyote/http11/Http11NioProcessor.java @@ -72,7 +72,7 @@ public class Http11NioProcessor extends AbstractHttp11Processor { public Http11NioProcessor(int maxHttpHeaderSize, NioEndpoint endpoint, int maxTrailerSize) { - this.endpoint = endpoint; + super(endpoint); request = new Request(); inputBuffer = new InternalNioInputBuffer(request, maxHttpHeaderSize); diff --git a/java/org/apache/coyote/http11/Http11Processor.java b/java/org/apache/coyote/http11/Http11Processor.java index 067f1bbda..22b78cb41 100644 --- a/java/org/apache/coyote/http11/Http11Processor.java +++ b/java/org/apache/coyote/http11/Http11Processor.java @@ -63,7 +63,7 @@ public class Http11Processor extends AbstractHttp11Processor { public Http11Processor(int headerBufferSize, JIoEndpoint endpoint, int maxTrailerSize) { - this.endpoint = endpoint; + super(endpoint); request = new Request(); inputBuffer = new InternalInputBuffer(request, headerBufferSize); -- 2.11.0