public abstract class AbstractMessageParser<T extends HttpMessage> extends java.lang.Object implements NHttpMessageParser<T>
NHttpMessageParser
that serves as a base for all message
parser implementations.Constructor and Description |
---|
AbstractMessageParser(SessionInputBuffer buffer,
LineParser lineParser,
HttpParams params)
Deprecated.
|
AbstractMessageParser(SessionInputBuffer buffer,
LineParser lineParser,
MessageConstraints constraints)
Creates an instance of AbstractMessageParser.
|
Modifier and Type | Method and Description |
---|---|
int |
fillBuffer(java.nio.channels.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.
|
@Deprecated public AbstractMessageParser(SessionInputBuffer buffer, LineParser lineParser, HttpParams params)
AbstractMessageParser(SessionInputBuffer, LineParser,
MessageConstraints)
buffer
- the session input buffer.lineParser
- the line parser.params
- HTTP parameters.public AbstractMessageParser(SessionInputBuffer buffer, LineParser lineParser, MessageConstraints constraints)
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.public void reset()
NHttpMessageParser
reset
in interface NHttpMessageParser<T extends HttpMessage>
public int fillBuffer(java.nio.channels.ReadableByteChannel channel) throws java.io.IOException
NHttpMessageParser
ReadableByteChannel
.fillBuffer
in interface NHttpMessageParser<T extends HttpMessage>
channel
- the input channeljava.io.IOException
- in case of an I/O error.public T parse() throws java.io.IOException, HttpException
NHttpMessageParser
null
.parse
in interface NHttpMessageParser<T extends HttpMessage>
null
otherwise.java.io.IOException
- in case of an I/O error.HttpException
- in case the HTTP message is malformed or
violates the HTTP protocol.Copyright © 2010 - 2019 Adobe. All Rights Reserved