Class AbstractMessageParser<T extends org.apache.http.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 org.apache.http.HttpMessage> extends Object implements NHttpMessageParser<T>
Abstract NHttpMessageParser that serves as a base for all message parser implementations.
Since:
4.0
  • Field Details

    • lineParser

      protected final org.apache.http.message.LineParser lineParser
  • Constructor Details

    • AbstractMessageParser

      @Deprecated public AbstractMessageParser(SessionInputBuffer buffer, org.apache.http.message.LineParser lineParser, org.apache.http.params.HttpParams params)
      Creates an instance of this class.
      Parameters:
      buffer - the session input buffer.
      lineParser - the line parser.
      params - HTTP parameters.
    • AbstractMessageParser

      public AbstractMessageParser(SessionInputBuffer buffer, org.apache.http.message.LineParser lineParser, org.apache.http.config.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 Details

    • 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 org.apache.http.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 org.apache.http.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(org.apache.http.util.CharArrayBuffer buffer) throws org.apache.http.HttpException, org.apache.http.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:
      org.apache.http.HttpException - in case of HTTP protocol violation
      org.apache.http.ParseException - in case of a parse error.
    • parse

      public T parse() throws IOException, org.apache.http.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 org.apache.http.HttpMessage>
      Returns:
      HTTP message head, if available, null otherwise.
      Throws:
      IOException - in case of an I/O error.
      org.apache.http.HttpException - in case the HTTP message is malformed or violates the HTTP protocol.