Apache Tomcat 7.0.42

## org.apache.coyote.http11
Class InternalInputBuffer

    java.lang.Object
      org.apache.coyote.http11.AbstractInputBuffer<Socket>
          org.apache.coyote.http11.InternalInputBuffer

All Implemented Interfaces:
  InputBuffer

    public class InternalInputBuffer

extends AbstractInputBuffer<Socket>

Implementation of InputBuffer which provides HTTP request header parsing as well as transfer decoding.

Author:
  Remy Maucherat

Nested Class Summary
`protected class` `InternalInputBuffer.InputStreamInputBuffer` This class is an input buffer which will read its data from an input stream.

Field Summary

Fields inherited from class org.apache.coyote.http11.AbstractInputBuffer
`activeFilters, buf, end, filterLibrary, headers, HTTP_TOKEN_CHAR, inputStreamInputBuffer, lastActiveFilter, lastValid, parsingHeader, pos, request, sm, swallowInput`

Constructor Summary
`InternalInputBuffer(Request request, int headerBufferSize)` Default constructor.

Method Summary
`protected boolean` `fill()` Fill the internal buffer using data from the underlying input stream.
`protected boolean` `fill(boolean block)`
`protected void` `init(SocketWrapper<Socket> socketWrapper, AbstractEndpoint endpoint)`
`boolean` `parseHeaders()` Parse the HTTP headers.
`boolean` `parseRequestLine(boolean useAvailableDataOnly)` Read the request line.
`void` `recycle()` Recycle the input buffer.

Methods inherited from class org.apache.coyote.http11.AbstractInputBuffer
`addActiveFilter, addFilter, available, doRead, endRequest, getFilters, nextRequest, setSwallowInput`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### InternalInputBuffer

    public InternalInputBuffer(Request request,
                               int headerBufferSize)

  Default constructor.

Method Detail

### parseRequestLine

    public boolean parseRequestLine(boolean useAvailableDataOnly)
                             throws IOException

  Read the request line. This function is meant to be used during the HTTP request header parsing. Do NOT attempt to read the request body using it.

  Specified by:
    `parseRequestLine` in class `AbstractInputBuffer<Socket>`
  Throws:
    `IOException` - If an exception occurs during the underlying socket read operations, or if the given buffer is not big enough to accommodate the whole line.

### parseHeaders

    public boolean parseHeaders()
                         throws IOException

  Parse the HTTP headers.

  Specified by:
    `parseHeaders` in class `AbstractInputBuffer<Socket>`
  Throws:
    `IOException`

### recycle

    public void recycle()

  Description copied from class: `AbstractInputBuffer`
  Recycle the input buffer. This should be called when closing the connection.

  Overrides:
    `recycle` in class `AbstractInputBuffer<Socket>`

### init

    protected void init(SocketWrapper<Socket> socketWrapper,
                        AbstractEndpoint endpoint)
                 throws IOException

  Specified by:
    `init` in class `AbstractInputBuffer<Socket>`
  Throws:
    `IOException`

### fill

    protected boolean fill()
                    throws IOException

  Fill the internal buffer using data from the underlying input stream.

  Returns:
    false if at end of stream
  Throws:
    `IOException`

### fill

    protected boolean fill(boolean block)
                    throws IOException

  Specified by:
    `fill` in class `AbstractInputBuffer<Socket>`
  Throws:
    `IOException`

Apache Tomcat 7.0.42

Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.