Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.http.impl.nio.codecs
Class AbstractMessageParser<T extends HttpMessage>

    java.lang.Object
      org.apache.http.impl.nio.codecs.AbstractMessageParser<T>

All Implemented Interfaces:
  NHttpMessageParser<T>

Direct Known Subclasses:
  DefaultHttpRequestParser, DefaultHttpResponseParser, HttpRequestParser, HttpResponseParser

    public abstract class AbstractMessageParser<T extends HttpMessage>

extends Object
implements NHttpMessageParser<T>

Abstract `NHttpMessageParser` that serves as a base for all message parser implementations.

Since:
  4.0

Field Summary
`protected LineParser` | `lineParser`

Constructor Summary
`AbstractMessageParser(SessionInputBuffer buffer, LineParser lineParser, HttpParams params)` Deprecated. (4.3) use `AbstractMessageParser(SessionInputBuffer, LineParser, MessageConstraints)`
`AbstractMessageParser(SessionInputBuffer buffer, LineParser lineParser, MessageConstraints constraints)` Creates an instance of AbstractMessageParser.

Method Summary
`protected abstract T` | `createMessage(CharArrayBuffer buffer)` Creates `HttpMessage` instance based on the content of the input buffer containing the first line of the incoming HTTP message.
`int` | `fillBuffer(ReadableByteChannel channel)` Fills the internal buffer of the parser with input data from the given `ReadableByteChannel`.
`T` | `parse()` Attempts to parse a complete message head from the content of the internal buffer.
`void` | `reset()` Resets the parser.

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

Field Detail

### lineParser

    protected final LineParser lineParser

Constructor Detail

### AbstractMessageParser

    @Deprecated
    public AbstractMessageParser(SessionInputBuffer buffer,
                                            LineParser lineParser,
                                            HttpParams params)

  Deprecated. (4.3) use `AbstractMessageParser(SessionInputBuffer, LineParser, MessageConstraints)`

  Creates an instance of this class.

  Parameters:
    `buffer` - the session input buffer.
    `lineParser` - the line parser.
    `params` - HTTP parameters.

### AbstractMessageParser

    public AbstractMessageParser(SessionInputBuffer buffer,
                                 LineParser lineParser,
                                 MessageConstraints constraints)

  Creates an instance of AbstractMessageParser.

  Parameters:
    `buffer` - the session input buffer.
    `lineParser` - the line parser. If `null` `BasicLineParser.INSTANCE` will be used.
    `constraints` - Message constraints. If `null` `MessageConstraints.DEFAULT` will be used.
  Since:
    4.3

Method Detail

### reset

    public void reset()

  Description copied from interface: `NHttpMessageParser`
  Resets the parser. The parser will be ready to start parsing another HTTP message.

  Specified by:
    `reset` in interface `NHttpMessageParser<T extends HttpMessage>`

### fillBuffer

    public int fillBuffer(ReadableByteChannel channel)
                   throws IOException

  Description copied from interface: `NHttpMessageParser`
  Fills the internal buffer of the parser with input data from the given `ReadableByteChannel`.

  Specified by:
    `fillBuffer` in interface `NHttpMessageParser<T extends HttpMessage>`
  Parameters:
    `channel` - the input channel
  Returns:
    number of bytes read.
  Throws:
    `IOException` - in case of an I/O error.

### createMessage

    protected abstract T createMessage(CharArrayBuffer buffer)
                                                    throws HttpException,
                                                           ParseException

  Creates `HttpMessage` instance based on the content of the input buffer containing the first line of the incoming HTTP message.

  Parameters:
    `buffer` - the line buffer.
  Returns:
    HTTP message.
  Throws:
    `HttpException` - in case of HTTP protocol violation
    `ParseException` - in case of a parse error.

### parse

    public T parse()
                                throws IOException,
                                       HttpException

  Description copied from interface: `NHttpMessageParser`
  Attempts to parse a complete message head from the content of the internal buffer. If the message in the input buffer is incomplete this method will return `null`.

  Specified by:
    `parse` in interface `NHttpMessageParser<T extends HttpMessage>`
  Returns:
    HTTP message head, if available, `null` otherwise.
  Throws:
    `IOException` - in case of an I/O error.
    `HttpException` - in case the HTTP message is malformed or violates the HTTP protocol.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2005–2021 The Apache Software Foundation. All rights reserved.