| 
 | Apache Tomcat 6.0.53 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.apache.coyote.http11.Http11NioProcessor
public class Http11NioProcessor
Processes HTTP requests.
| Field Summary | |
|---|---|
| protected  Adapter | adapterAssociated adapter. | 
| protected  boolean | cometComet used. | 
| protected  boolean | cometCloseClosed flag, a Comet async thread can signal for this Nio processor to be closed and recycled instead of waiting for a timeout. | 
| protected  java.lang.String[] | compressableMimeTypesList of MIMES which could be gzipped | 
| protected  int | compressionLevelAllowed compression level. | 
| protected  int | compressionMinSizeMinimum contentsize to make compression. | 
| protected  boolean | contentDelimitationContent delimitator for the request (if false, the connection will be closed at the end of the request). | 
| protected  boolean | disableUploadTimeoutFlag to disable setting a different time-out on uploads. | 
| protected  NioEndpoint | endpointAssociated endpoint. | 
| protected  boolean | errorError flag. | 
| protected  boolean | expectationIs there an expectation ? | 
| protected  char[] | hostNameCHost name (used to avoid useless B2C conversion on the host name). | 
| protected  boolean | http09HTTP/0.9 flag. | 
| protected  boolean | http11HTTP/1.1 flag. | 
| protected  InternalNioInputBuffer | inputBufferInput. | 
| protected  boolean | keepAliveKeep-alive. | 
| protected  java.lang.String | localAddrThe local Host address. | 
| protected  java.lang.String | localNameLocal Host associated with the current connection. | 
| protected  int | localPortLocal port to which the socket is connected | 
| protected static Log | logLogger. | 
| protected  int | maxKeepAliveRequestsMaximum number of Keep-Alive requests to honor. | 
| protected  int | maxSavePostSizeMax save post size. | 
| protected  java.util.regex.Pattern[] | noCompressionUserAgentsList of user agents to not use gzip with | 
| protected  InternalNioOutputBuffer | outputBufferOutput. | 
| protected  java.lang.String | remoteAddrRemote Address associated with the current connection. | 
| protected  java.lang.String | remoteHostRemote Host associated with the current connection. | 
| protected  int | remotePortRemote port to which the socket is connected | 
| protected  Request | requestRequest object. | 
| protected  Response | responseResponse object. | 
| protected  java.util.regex.Pattern[] | restrictedUserAgentsList of restricted user agents. | 
| protected  NioEndpoint.SendfileData | sendfileDataSendfile data. | 
| protected  boolean | sendfileInProgressFlag that indicates that send file processing is in progress and that the socket should not be returned to the poller (where a poller is used). | 
| protected  java.lang.String | serverAllow a customized the server header for the tin-foil hat folks. | 
| protected static StringManager | smThe string manager for this package. | 
| protected  NioChannel | socketSocket associated with the current connection. | 
| protected  int | socketBufferSocket buffering. | 
| protected  boolean | sslSSL enabled ? | 
| protected  SSLSupport | sslSupportSSL information. | 
| protected  int | timeoutMaximum timeout on uploads. 5 minutes as in Apache HTTPD server. | 
| Constructor Summary | |
|---|---|
| Http11NioProcessor(int rxBufSize,
                   int txBufSize,
                   int maxHttpHeaderSize,
                   NioEndpoint endpoint) | |
| Method Summary | |
|---|---|
|  void | action(ActionCode actionCode,
       java.lang.Object param)Send an action to the connector. | 
|  void | addCompressableMimeType(java.lang.String mimeType)Add a mime-type which will be compressable The mime-type String will be exactly matched in the response mime-type header . | 
| protected  void | addFilter(java.lang.String className)Add input or output filter. | 
| protected  boolean | addInputFilter(InputFilter[] inputFilters,
               java.lang.String encodingName)Add an input filter to the current request. | 
|  void | addNoCompressionUserAgent(java.lang.String userAgent)Add user-agent for which gzip compression didn't works The user agent String given will be exactly matched to the user-agent header submitted by the client. | 
|  void | addRestrictedUserAgent(java.lang.String userAgent)Add restricted user-agent (which will downgrade the connector to HTTP/1.0 mode). | 
|  void | endRequest() | 
|  NioEndpoint.Handler.SocketState | event(SocketStatus status)Process pipelined HTTP requests using the specified input and output streams. | 
| protected  int | findBytes(ByteChunk bc,
          byte[] b)Specialized utility method: find a sequence of lower case bytes inside a ByteChunk. | 
|  java.lang.String[] | findCompressableMimeTypes()Return the list of restricted user agents. | 
|  java.lang.String[] | findRestrictedUserAgents()Return the list of restricted user agents. | 
|  Adapter | getAdapter()Get the associated adapter. | 
|  java.lang.String | getCompression()Return compression level. | 
|  boolean | getDisableUploadTimeout()Get the flag that controls upload time-outs. | 
|  int | getMaxCookieCount() | 
|  int | getMaxKeepAliveRequests()Return the number of Keep-Alive requests that we will honor. | 
|  int | getMaxSavePostSize()Return the maximum size of a POST which will be buffered in SSL mode. | 
|  Request | getRequest()Get the request associated with this processor. | 
|  java.lang.String | getServer()Get the server header name. | 
|  int | getSocketBuffer()Get the socket buffer flag. | 
|  SSLSupport | getSslSupport() | 
|  int | getTimeout()Get the upload timeout. | 
| protected  void | initializeFilters()Initialize standard input and output filters. | 
|  void | parseHost(MessageBytes valueMB)Parse host. | 
| protected  void | prepareRequest()After reading the request headers, we have to setup the request filters. | 
| protected  void | prepareResponse()When committing the response, we have to validate the set of headers, as well as setup the response filters. | 
|  NioEndpoint.Handler.SocketState | process(NioChannel socket)Process pipelined HTTP requests using the specified input and output streams. | 
|  void | recycle() | 
|  void | setAdapter(Adapter adapter)Set the associated adapter. | 
|  void | setCompressableMimeTypes(java.lang.String compressableMimeTypes)Set compressable mime-type list List contains users agents separated by ',' : ie: "text/html,text/xml,text/plain" | 
|  void | setCompressableMimeTypes(java.lang.String[] compressableMimeTypes)Set compressable mime-type list (this method is best when used with a large number of connectors, where it would be better to have all of them referenced a single array). | 
|  void | setCompression(java.lang.String compression)Set compression level. | 
|  void | setCompressionMinSize(int compressionMinSize)Set Minimum size to trigger compression. | 
|  void | setDisableUploadTimeout(boolean isDisabled)Set the flag to control upload time-outs. | 
|  void | setMaxCookieCount(int maxCookieCount) | 
|  void | setMaxKeepAliveRequests(int mkar)Set the maximum number of Keep-Alive requests to honor. | 
|  void | setMaxSavePostSize(int msps)Set the maximum size of a POST which will be buffered in SSL mode. | 
|  void | setNoCompressionUserAgents(java.util.regex.Pattern[] noCompressionUserAgents)Set no compression user agent list (this method is best when used with a large number of connectors, where it would be better to have all of them referenced a single array). | 
|  void | setNoCompressionUserAgents(java.lang.String noCompressionUserAgents)Set no compression user agent list. | 
|  void | setRestrictedUserAgents(java.util.regex.Pattern[] restrictedUserAgents)Set restricted user agent list (this method is best when used with a large number of connectors, where it would be better to have all of them referenced a single array). | 
|  void | setRestrictedUserAgents(java.lang.String restrictedUserAgents)Set restricted user agent list (which will downgrade the connector to HTTP/1.0 mode). | 
|  void | setServer(java.lang.String server)Set the server header name. | 
|  void | setSocketBuffer(int socketBuffer)Set the socket buffer flag. | 
|  void | setSslSupport(SSLSupport sslSupport) | 
|  void | setTimeout(int timeouts)Set the upload timeout. | 
| protected  boolean | statusDropsConnection(int status)Determine if we must drop the connection because of the HTTP status code. | 
| Methods inherited from class java.lang.Object | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Field Detail | 
|---|
protected static Log log
protected static StringManager sm
protected SSLSupport sslSupport
protected Adapter adapter
protected Request request
protected Response response
protected InternalNioInputBuffer inputBuffer
protected InternalNioOutputBuffer outputBuffer
protected boolean error
protected boolean keepAlive
protected boolean sendfileInProgress
protected boolean http11
protected boolean http09
protected NioEndpoint.SendfileData sendfileData
protected boolean comet
protected boolean cometClose
protected boolean contentDelimitation
protected boolean expectation
protected java.util.regex.Pattern[] restrictedUserAgents
protected int maxKeepAliveRequests
protected boolean ssl
protected NioChannel socket
protected java.lang.String remoteAddr
protected java.lang.String remoteHost
protected java.lang.String localName
protected int localPort
protected int remotePort
protected java.lang.String localAddr
protected int timeout
protected boolean disableUploadTimeout
protected int compressionLevel
protected int compressionMinSize
protected int socketBuffer
protected int maxSavePostSize
protected java.util.regex.Pattern[] noCompressionUserAgents
protected java.lang.String[] compressableMimeTypes
protected char[] hostNameC
protected NioEndpoint endpoint
protected java.lang.String server
| Constructor Detail | 
|---|
public Http11NioProcessor(int rxBufSize,
                          int txBufSize,
                          int maxHttpHeaderSize,
                          NioEndpoint endpoint)
| Method Detail | 
|---|
public java.lang.String getCompression()
public void setCompression(java.lang.String compression)
public void setCompressionMinSize(int compressionMinSize)
public void addNoCompressionUserAgent(java.lang.String userAgent)
userAgent - user-agent stringpublic void setNoCompressionUserAgents(java.util.regex.Pattern[] noCompressionUserAgents)
public void setNoCompressionUserAgents(java.lang.String noCompressionUserAgents)
public void addCompressableMimeType(java.lang.String mimeType)
mimeType - mime-type stringpublic void setCompressableMimeTypes(java.lang.String[] compressableMimeTypes)
public void setCompressableMimeTypes(java.lang.String compressableMimeTypes)
public java.lang.String[] findCompressableMimeTypes()
protected void addFilter(java.lang.String className)
className - class name of the filterpublic void addRestrictedUserAgent(java.lang.String userAgent)
userAgent - user-agent stringpublic void setRestrictedUserAgents(java.util.regex.Pattern[] restrictedUserAgents)
public void setRestrictedUserAgents(java.lang.String restrictedUserAgents)
public java.lang.String[] findRestrictedUserAgents()
public void setMaxKeepAliveRequests(int mkar)
public int getMaxKeepAliveRequests()
public void setMaxSavePostSize(int msps)
public int getMaxSavePostSize()
public void setDisableUploadTimeout(boolean isDisabled)
public boolean getDisableUploadTimeout()
public void setSocketBuffer(int socketBuffer)
public int getSocketBuffer()
public void setTimeout(int timeouts)
public int getTimeout()
public void setServer(java.lang.String server)
public java.lang.String getServer()
public Request getRequest()
public NioEndpoint.Handler.SocketState event(SocketStatus status)
                                      throws java.io.IOException
java.io.IOException - error during an I/O operation
public NioEndpoint.Handler.SocketState process(NioChannel socket)
                                        throws java.io.IOException
java.io.IOException - error during an I/O operationpublic void endRequest()
public void recycle()
public void action(ActionCode actionCode,
                   java.lang.Object param)
action in interface ActionHookactionCode - Type of the actionparam - Action parameterpublic void setAdapter(Adapter adapter)
adapter - the new adapterpublic void setSslSupport(SSLSupport sslSupport)
public int getMaxCookieCount()
public void setMaxCookieCount(int maxCookieCount)
public Adapter getAdapter()
public SSLSupport getSslSupport()
protected void prepareRequest()
public void parseHost(MessageBytes valueMB)
protected void prepareResponse()
                        throws java.io.IOException
java.io.IOExceptionprotected void initializeFilters()
protected boolean addInputFilter(InputFilter[] inputFilters,
                                 java.lang.String encodingName)
protected int findBytes(ByteChunk bc,
                        byte[] b)
protected boolean statusDropsConnection(int status)
| 
 | Apache Tomcat 6.0.53 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||