Package 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 java.lang.Object implements NHttpMessageParser<T>
AbstractNHttpMessageParserthat serves as a base for all message parser implementations.- Since:
- 4.0
-
-
Constructor Summary
Constructors Constructor Description AbstractMessageParser(SessionInputBuffer buffer, LineParser lineParser, MessageConstraints constraints)Creates an instance of AbstractMessageParser.AbstractMessageParser(SessionInputBuffer buffer, LineParser lineParser, HttpParams params)Deprecated.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intfillBuffer(java.nio.channels.ReadableByteChannel channel)Fills the internal buffer of the parser with input data from the givenReadableByteChannel.Tparse()Attempts to parse a complete message head from the content of the internal buffer.voidreset()Resets the parser.
-
-
-
Constructor Detail
-
AbstractMessageParser
@Deprecated public AbstractMessageParser(SessionInputBuffer buffer, LineParser lineParser, HttpParams params)
Deprecated.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. IfnullBasicLineParser.INSTANCEwill be used.constraints- Message constraints. IfnullMessageConstraints.DEFAULTwill be used.- Since:
- 4.3
-
-
Method Detail
-
reset
public void reset()
Description copied from interface:NHttpMessageParserResets the parser. The parser will be ready to start parsing another HTTP message.- Specified by:
resetin interfaceNHttpMessageParser<T extends HttpMessage>
-
fillBuffer
public int fillBuffer(java.nio.channels.ReadableByteChannel channel) throws java.io.IOExceptionDescription copied from interface:NHttpMessageParserFills the internal buffer of the parser with input data from the givenReadableByteChannel.- Specified by:
fillBufferin interfaceNHttpMessageParser<T extends HttpMessage>- Parameters:
channel- the input channel- Returns:
- number of bytes read.
- Throws:
java.io.IOException- in case of an I/O error.
-
parse
public T parse() throws java.io.IOException, HttpException
Description copied from interface:NHttpMessageParserAttempts 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 returnnull.- Specified by:
parsein interfaceNHttpMessageParser<T extends HttpMessage>- Returns:
- HTTP message head, if available,
nullotherwise. - Throws:
java.io.IOException- in case of an I/O error.HttpException- in case the HTTP message is malformed or violates the HTTP protocol.
-
-