Author: markt
Date: Mon Mar  2 21:44:57 2015
New Revision: 1663442

URL: http://svn.apache.org/r1663442
Log:
Clean-up post connector refactoring.
- reduce visibility
- remove unused code
- remove unnecessary accessors
- make utility methods static

Modified:
    tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java

Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java?rev=1663442&r1=1663441&r2=1663442&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11Processor.java Mon Mar  2 
21:44:57 2015
@@ -245,12 +245,32 @@ public class Http11Processor extends Abs
         userDataHelper = new UserDataHelper(log);
 
         inputBuffer = new Http11InputBuffer(request, maxHttpHeaderSize);
-        request.setInputBuffer(getInputBuffer());
+        request.setInputBuffer(inputBuffer);
 
         outputBuffer = new Http11OutputBuffer(response, maxHttpHeaderSize);
-        response.setOutputBuffer(getOutputBuffer());
+        response.setOutputBuffer(outputBuffer);
 
-        initializeFilters(maxTrailerSize, maxExtensionSize, maxSwallowSize);
+        // Create and add the identity filters.
+        inputBuffer.addFilter(new IdentityInputFilter(maxSwallowSize));
+        outputBuffer.addFilter(new IdentityOutputFilter());
+
+        // Create and add the chunked filters.
+        inputBuffer.addFilter(
+                new ChunkedInputFilter(maxTrailerSize, maxExtensionSize, 
maxSwallowSize));
+        outputBuffer.addFilter(new ChunkedOutputFilter());
+
+        // Create and add the void filters.
+        inputBuffer.addFilter(new VoidInputFilter());
+        outputBuffer.addFilter(new VoidOutputFilter());
+
+        // Create and add buffered input filter
+        inputBuffer.addFilter(new BufferedInputFilter());
+
+        // Create and add the chunked filters.
+        //inputBuffer.addFilter(new GzipInputFilter());
+        outputBuffer.addFilter(new GzipOutputFilter());
+
+        pluggableFilterIndex = inputBuffer.getFilters().length;
     }
 
 
@@ -488,13 +508,6 @@ public class Http11Processor extends Abs
         }
     }
 
-    /**
-     * Get the server header name.
-     */
-    public String getServer() {
-        return server;
-    }
-
 
     /**
      * Check if the resource could be compressed, if the client supports it.
@@ -572,7 +585,7 @@ public class Http11Processor extends Abs
      * Specialized utility method: find a sequence of lower case bytes inside
      * a ByteChunk.
      */
-    protected int findBytes(ByteChunk bc, byte[] b) {
+    private static int findBytes(ByteChunk bc, byte[] b) {
 
         byte first = b[0];
         byte[] buff = bc.getBuffer();
@@ -605,7 +618,7 @@ public class Http11Processor extends Abs
      * Determine if we must drop the connection because of the HTTP status
      * code.  Use the same list of codes as Apache/httpd.
      */
-    protected boolean statusDropsConnection(int status) {
+    private static boolean statusDropsConnection(int status) {
         return status == 400 /* SC_BAD_REQUEST */ ||
                status == 408 /* SC_REQUEST_TIMEOUT */ ||
                status == 411 /* SC_LENGTH_REQUIRED */ ||
@@ -618,53 +631,6 @@ public class Http11Processor extends Abs
 
 
     /**
-     * Exposes input buffer to super class to allow better code re-use.
-     * @return  The input buffer used by the processor.
-     */
-    protected Http11InputBuffer getInputBuffer() {
-        return inputBuffer;
-    }
-
-
-    /**
-     * Exposes output buffer to super class to allow better code re-use.
-     * @return  The output buffer used by the processor.
-     */
-    protected Http11OutputBuffer getOutputBuffer() {
-        return outputBuffer;
-    }
-
-
-    /**
-     * Initialize standard input and output filters.
-     */
-    protected void initializeFilters(int maxTrailerSize, int maxExtensionSize,
-            int maxSwallowSize) {
-        // Create and add the identity filters.
-        getInputBuffer().addFilter(new IdentityInputFilter(maxSwallowSize));
-        getOutputBuffer().addFilter(new IdentityOutputFilter());
-
-        // Create and add the chunked filters.
-        getInputBuffer().addFilter(
-                new ChunkedInputFilter(maxTrailerSize, maxExtensionSize, 
maxSwallowSize));
-        getOutputBuffer().addFilter(new ChunkedOutputFilter());
-
-        // Create and add the void filters.
-        getInputBuffer().addFilter(new VoidInputFilter());
-        getOutputBuffer().addFilter(new VoidOutputFilter());
-
-        // Create and add buffered input filter
-        getInputBuffer().addFilter(new BufferedInputFilter());
-
-        // Create and add the chunked filters.
-        //getInputBuffer().addFilter(new GzipInputFilter());
-        getOutputBuffer().addFilter(new GzipOutputFilter());
-
-        pluggableFilterIndex = getInputBuffer().getFilters().length;
-    }
-
-
-    /**
      * Add an input filter to the current request. If the encoding is not
      * supported, a 501 response will be returned to the client.
      */
@@ -677,13 +643,13 @@ public class Http11Processor extends Abs
         if (encodingName.equals("identity")) {
             // Skip
         } else if (encodingName.equals("chunked")) {
-            getInputBuffer().addActiveFilter
+            inputBuffer.addActiveFilter
                 (inputFilters[Constants.CHUNKED_FILTER]);
             contentDelimitation = true;
         } else {
             for (int i = pluggableFilterIndex; i < inputFilters.length; i++) {
                 if 
(inputFilters[i].getEncodingName().toString().equals(encodingName)) {
-                    getInputBuffer().addActiveFilter(inputFilters[i]);
+                    inputBuffer.addActiveFilter(inputFilters[i]);
                     return;
                 }
             }
@@ -721,7 +687,7 @@ public class Http11Processor extends Abs
         case CLOSE: {
             // End the processing of the current request
             try {
-                getOutputBuffer().endRequest();
+                outputBuffer.endRequest();
             } catch (IOException e) {
                 setErrorState(ErrorState.CLOSE_NOW, e);
             }
@@ -736,7 +702,7 @@ public class Http11Processor extends Abs
             // Validate and write response headers
             try {
                 prepareResponse();
-                getOutputBuffer().commit();
+                outputBuffer.commit();
             } catch (IOException e) {
                 setErrorState(ErrorState.CLOSE_NOW, e);
             }
@@ -750,9 +716,9 @@ public class Http11Processor extends Abs
                 return;
             }
 
-            getInputBuffer().setSwallowInput(true);
+            inputBuffer.setSwallowInput(true);
             try {
-                getOutputBuffer().sendAck();
+                outputBuffer.sendAck();
             } catch (IOException e) {
                 setErrorState(ErrorState.CLOSE_NOW, e);
             }
@@ -760,7 +726,7 @@ public class Http11Processor extends Abs
         }
         case CLIENT_FLUSH: {
             try {
-                getOutputBuffer().flush();
+                outputBuffer.flush();
             } catch (IOException e) {
                 setErrorState(ErrorState.CLOSE_NOW, e);
                 response.setErrorException(e);
@@ -775,12 +741,12 @@ public class Http11Processor extends Abs
             // Do not swallow request input and make sure we are closing the
             // connection
             setErrorState(ErrorState.CLOSE_CLEAN, null);
-            getInputBuffer().setSwallowInput(false);
+            inputBuffer.setSwallowInput(false);
             break;
         }
         case RESET: {
             // Note: This must be called before the response is committed
-            getOutputBuffer().reset();
+            outputBuffer.reset();
             break;
         }
         case REQ_SET_BODY_REPLAY: {
@@ -862,16 +828,16 @@ public class Http11Processor extends Abs
         case UPGRADE: {
             httpUpgradeHandler = (HttpUpgradeHandler) param;
             // Stop further HTTP output
-            getOutputBuffer().finished = true;
+            outputBuffer.finished = true;
             break;
         }
         case AVAILABLE: {
-            request.setAvailable(getInputBuffer().available());
+            request.setAvailable(inputBuffer.available());
             break;
         }
         case NB_WRITE_INTEREST: {
             AtomicBoolean isReady = (AtomicBoolean)param;
-            isReady.set(getOutputBuffer().isReady());
+            isReady.set(outputBuffer.isReady());
             break;
         }
         case NB_READ_INTEREST: {
@@ -880,7 +846,7 @@ public class Http11Processor extends Abs
         }
         case REQUEST_BODY_FULLY_READ: {
             AtomicBoolean result = (AtomicBoolean) param;
-            result.set(getInputBuffer().isFinished());
+            result.set(inputBuffer.isFinished());
             break;
         }
         case DISPATCH_READ: {
@@ -900,7 +866,7 @@ public class Http11Processor extends Abs
         }
         case CLOSE_NOW: {
             // Block further output
-            getOutputBuffer().finished = true;
+            outputBuffer.finished = true;
             setErrorState(ErrorState.CLOSE_NOW, null);
             break;
         }
@@ -991,10 +957,10 @@ public class Http11Processor extends Abs
             if (sslSupport != null && socketWrapper.getSocket() != null) {
                 // Consume and buffer the request body, so that it does not
                 // interfere with the client's handshake messages
-                InputFilter[] inputFilters = getInputBuffer().getFilters();
+                InputFilter[] inputFilters = inputBuffer.getFilters();
                 ((BufferedInputFilter) 
inputFilters[Constants.BUFFERED_FILTER]).setLimit(
                         maxSavePostSize);
-                
getInputBuffer().addActiveFilter(inputFilters[Constants.BUFFERED_FILTER]);
+                
inputBuffer.addActiveFilter(inputFilters[Constants.BUFFERED_FILTER]);
 
                 try {
                     socketWrapper.doClientAuth(sslSupport);
@@ -1029,8 +995,8 @@ public class Http11Processor extends Abs
 
         // Setting up the I/O
         setSocketWrapper(socketWrapper);
-        getInputBuffer().init(socketWrapper);
-        getOutputBuffer().init(socketWrapper);
+        inputBuffer.init(socketWrapper);
+        outputBuffer.init(socketWrapper);
 
         // Flags
         keepAlive = true;
@@ -1044,7 +1010,7 @@ public class Http11Processor extends Abs
 
             // Parsing the request header
             try {
-                if (!getInputBuffer().parseRequestLine(keptAlive)) {
+                if (!inputBuffer.parseRequestLine(keptAlive)) {
                     if (handleIncompleteRequestLineRead()) {
                         break;
                     }
@@ -1058,7 +1024,7 @@ public class Http11Processor extends Abs
                     keptAlive = true;
                     // Set this every time in case limit has been changed via 
JMX
                     
request.getMimeHeaders().setLimit(endpoint.getMaxHeaderCount());
-                    if (!getInputBuffer().parseHeaders()) {
+                    if (!inputBuffer.parseHeaders()) {
                         // We've read part of the request, don't recycle it
                         // instead associate it with the socket
                         openSocket = true;
@@ -1168,7 +1134,7 @@ public class Http11Processor extends Abs
                     // If we know we are closing the connection, don't drain
                     // input. This way uploading a 100GB file doesn't tie up 
the
                     // thread if the servlet has rejected it.
-                    getInputBuffer().setSwallowInput(false);
+                    inputBuffer.setSwallowInput(false);
                 } else {
                     // Need to check this again here in case the response was
                     // committed before the error that requires the connection
@@ -1189,8 +1155,8 @@ public class Http11Processor extends Abs
 
             if (!isAsync() || getErrorState().isError()) {
                 if (getErrorState().isIoAllowed()) {
-                    getInputBuffer().nextRequest();
-                    getOutputBuffer().nextRequest();
+                    inputBuffer.nextRequest();
+                    outputBuffer.nextRequest();
                 }
             }
 
@@ -1241,7 +1207,7 @@ public class Http11Processor extends Abs
         // open
         openSocket = true;
         // Check to see if we have read any of the request line yet
-        if (getInputBuffer().getParsingRequestLinePhase() < 1) {
+        if (inputBuffer.getParsingRequestLinePhase() < 1) {
             if (keptAlive) {
                 // Haven't read the request line and have previously processed 
a
                 // request. Must be keep-alive. Make sure poller uses 
keepAlive.
@@ -1277,7 +1243,7 @@ public class Http11Processor extends Abs
             // still send the body, some may send the next request.
             // No way to differentiate, so close the connection to
             // force the client to send the next request.
-            getInputBuffer().setSwallowInput(false);
+            inputBuffer.setSwallowInput(false);
             keepAlive = false;
         }
     }
@@ -1286,7 +1252,7 @@ public class Http11Processor extends Abs
     /**
      * After reading the request headers, we have to setup the request filters.
      */
-    protected void prepareRequest() {
+    private void prepareRequest() {
 
         http11 = true;
         http09 = false;
@@ -1349,7 +1315,7 @@ public class Http11Processor extends Abs
         }
         if (expectMB != null) {
             if (expectMB.indexOfIgnoreCase("100-continue", 0) != -1) {
-                getInputBuffer().setSwallowInput(false);
+                inputBuffer.setSwallowInput(false);
                 expectation = true;
             } else {
                 response.setStatus(HttpServletResponse.SC_EXPECTATION_FAILED);
@@ -1399,7 +1365,7 @@ public class Http11Processor extends Abs
         }
 
         // Input filter setup
-        InputFilter[] inputFilters = getInputBuffer().getFilters();
+        InputFilter[] inputFilters = inputBuffer.getFilters();
 
         // Parse transfer-encoding header
         MessageBytes transferEncodingValueMB = null;
@@ -1434,7 +1400,7 @@ public class Http11Processor extends Abs
                 headers.removeHeader("content-length");
                 request.setContentLength(-1);
             } else {
-                getInputBuffer().addActiveFilter
+                inputBuffer.addActiveFilter
                         (inputFilters[Constants.IDENTITY_FILTER]);
                 contentDelimitation = true;
             }
@@ -1459,7 +1425,7 @@ public class Http11Processor extends Abs
             // If there's no content length
             // (broken HTTP/1.0 or HTTP/1.1), assume
             // the client is not broken and didn't send a body
-            getInputBuffer().addActiveFilter
+            inputBuffer.addActiveFilter
                     (inputFilters[Constants.VOID_FILTER]);
             contentDelimitation = true;
         }
@@ -1479,11 +1445,11 @@ public class Http11Processor extends Abs
         boolean entityBody = true;
         contentDelimitation = false;
 
-        OutputFilter[] outputFilters = getOutputBuffer().getFilters();
+        OutputFilter[] outputFilters = outputBuffer.getFilters();
 
         if (http09 == true) {
             // HTTP/0.9
-            getOutputBuffer().addActiveFilter
+            outputBuffer.addActiveFilter
                 (outputFilters[Constants.IDENTITY_FILTER]);
             return;
         }
@@ -1492,7 +1458,7 @@ public class Http11Processor extends Abs
         if (statusCode < 200 || statusCode == 204 || statusCode == 205 ||
                 statusCode == 304) {
             // No entity body
-            getOutputBuffer().addActiveFilter
+            outputBuffer.addActiveFilter
                 (outputFilters[Constants.VOID_FILTER]);
             entityBody = false;
             contentDelimitation = true;
@@ -1501,7 +1467,7 @@ public class Http11Processor extends Abs
         MessageBytes methodMB = request.method();
         if (methodMB.equals("HEAD")) {
             // No entity body
-            getOutputBuffer().addActiveFilter
+            outputBuffer.addActiveFilter
                 (outputFilters[Constants.VOID_FILTER]);
             contentDelimitation = true;
         }
@@ -1547,7 +1513,7 @@ public class Http11Processor extends Abs
         boolean connectionClosePresent = false;
         if (contentLength != -1) {
             headers.setValue("Content-Length").setLong(contentLength);
-            getOutputBuffer().addActiveFilter
+            outputBuffer.addActiveFilter
                 (outputFilters[Constants.IDENTITY_FILTER]);
             contentDelimitation = true;
         } else {
@@ -1555,18 +1521,18 @@ public class Http11Processor extends Abs
             // HTTP 1.1 then we chunk unless we have a Connection: close header
             connectionClosePresent = isConnectionClose(headers);
             if (entityBody && http11 && !connectionClosePresent) {
-                getOutputBuffer().addActiveFilter
+                outputBuffer.addActiveFilter
                     (outputFilters[Constants.CHUNKED_FILTER]);
                 contentDelimitation = true;
                 
headers.addValue(Constants.TRANSFERENCODING).setString(Constants.CHUNKED);
             } else {
-                getOutputBuffer().addActiveFilter
+                outputBuffer.addActiveFilter
                     (outputFilters[Constants.IDENTITY_FILTER]);
             }
         }
 
         if (useCompression) {
-            
getOutputBuffer().addActiveFilter(outputFilters[Constants.GZIP_FILTER]);
+            outputBuffer.addActiveFilter(outputFilters[Constants.GZIP_FILTER]);
             headers.setValue("Content-Encoding").setString("gzip");
         }
         // If it might be compressed, set the Vary header
@@ -1618,7 +1584,7 @@ public class Http11Processor extends Abs
         }
 
         // Build the response header
-        getOutputBuffer().sendStatus();
+        outputBuffer.sendStatus();
 
         // Add server header
         if (server != null) {
@@ -1626,14 +1592,14 @@ public class Http11Processor extends Abs
             headers.setValue("Server").setString(server);
         } else if (headers.getValue("Server") == null) {
             // If app didn't set the header, use the default
-            getOutputBuffer().write(Constants.SERVER_BYTES);
+            outputBuffer.write(Constants.SERVER_BYTES);
         }
 
         int size = headers.size();
         for (int i = 0; i < size; i++) {
-            getOutputBuffer().sendHeader(headers.getName(i), 
headers.getValue(i));
+            outputBuffer.sendHeader(headers.getName(i), headers.getValue(i));
         }
-        getOutputBuffer().endHeaders();
+        outputBuffer.endHeaders();
 
     }
 
@@ -1650,7 +1616,7 @@ public class Http11Processor extends Abs
                 org.apache.coyote.Constants.SENDFILE_FILENAME_ATTR);
         if (fileName != null) {
             // No entity body sent here
-            
getOutputBuffer().addActiveFilter(outputFilters[Constants.VOID_FILTER]);
+            outputBuffer.addActiveFilter(outputFilters[Constants.VOID_FILTER]);
             contentDelimitation = true;
             long pos = ((Long) request.getAttribute(
                     
org.apache.coyote.Constants.SENDFILE_FILE_START_ATTR)).longValue();
@@ -1665,7 +1631,7 @@ public class Http11Processor extends Abs
     /**
      * Parse host.
      */
-    protected void parseHost(MessageBytes valueMB) {
+    private void parseHost(MessageBytes valueMB) {
 
         if (valueMB == null || valueMB.isNull()) {
             // HTTP/1.0
@@ -1765,7 +1731,7 @@ public class Http11Processor extends Abs
         } else if (status == SocketStatus.OPEN_READ &&
                 request.getReadListener() != null) {
             try {
-                if (getInputBuffer().available() > 0) {
+                if (inputBuffer.available() > 0) {
                     asyncStateMachine.asyncOperation();
                 }
             } catch (IllegalStateException x) {
@@ -1802,8 +1768,8 @@ public class Http11Processor extends Abs
             if (!keepAlive) {
                 return SocketState.CLOSED;
             } else {
-                getInputBuffer().nextRequest();
-                getOutputBuffer().nextRequest();
+                inputBuffer.nextRequest();
+                outputBuffer.nextRequest();
                 if (socketWrapper.isReadPending()) {
                     return SocketState.LONG;
                 } else {
@@ -1841,12 +1807,12 @@ public class Http11Processor extends Abs
     }
 
 
-    public void endRequest() {
+    private void endRequest() {
 
         // Finish the handling of the request
         if (getErrorState().isIoAllowed()) {
             try {
-                getInputBuffer().endRequest();
+                inputBuffer.endRequest();
             } catch (IOException e) {
                 setErrorState(ErrorState.CLOSE_NOW, e);
             } catch (Throwable t) {
@@ -1861,7 +1827,7 @@ public class Http11Processor extends Abs
         }
         if (getErrorState().isIoAllowed()) {
             try {
-                getOutputBuffer().endRequest();
+                outputBuffer.endRequest();
             } catch (IOException e) {
                 setErrorState(ErrorState.CLOSE_NOW, e);
             } catch (Throwable t) {
@@ -1909,11 +1875,11 @@ public class Http11Processor extends Abs
     public final void recycle() {
         getAdapter().checkRecycled(request, response);
 
-        if (getInputBuffer() != null) {
-            getInputBuffer().recycle();
+        if (inputBuffer != null) {
+            inputBuffer.recycle();
         }
-        if (getOutputBuffer() != null) {
-            getOutputBuffer().recycle();
+        if (outputBuffer != null) {
+            outputBuffer.recycle();
         }
         if (asyncStateMachine != null) {
             asyncStateMachine.recycle();
@@ -1927,7 +1893,7 @@ public class Http11Processor extends Abs
 
     @Override
     public ByteBuffer getLeftoverInput() {
-        return getInputBuffer().getLeftover();
+        return inputBuffer.getLeftover();
     }
 
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to