public class MultiPartParser
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
MultiPartParser.FieldState |
static interface |
MultiPartParser.Handler |
private static class |
MultiPartParser.IllegalCharacterException |
static class |
MultiPartParser.State |
Modifier and Type | Field and Description |
---|---|
private static java.util.EnumSet<MultiPartParser.State> |
__delimiterStates |
private boolean |
_cr |
private SearchPattern |
_delimiterSearch |
private java.lang.String |
_fieldName |
private MultiPartParser.FieldState |
_fieldState |
private java.lang.String |
_fieldValue |
private MultiPartParser.Handler |
_handler |
private int |
_length |
private int |
_partialBoundary |
private java.nio.ByteBuffer |
_patternBuffer |
private MultiPartParser.State |
_state |
private Utf8StringBuilder |
_string |
private int |
_totalHeaderLineLength |
private boolean |
DEBUG |
static Logger |
LOG |
private static int |
MAX_HEADER_LINE_LENGTH |
Constructor and Description |
---|
MultiPartParser(MultiPartParser.Handler handler,
java.lang.String boundary) |
Modifier and Type | Method and Description |
---|---|
MultiPartParser.Handler |
getHandler() |
MultiPartParser.State |
getState() |
private void |
handleField() |
private static boolean |
hasNextByte(java.nio.ByteBuffer buffer) |
boolean |
isState(MultiPartParser.State state) |
private HttpTokens.Token |
next(java.nio.ByteBuffer buffer) |
boolean |
parse(java.nio.ByteBuffer buffer,
boolean last)
Parse until next Event.
|
private void |
parseDelimiter(java.nio.ByteBuffer buffer) |
protected boolean |
parseMimePartHeaders(java.nio.ByteBuffer buffer) |
protected boolean |
parseOctetContent(java.nio.ByteBuffer buffer) |
private void |
parsePreamble(java.nio.ByteBuffer buffer) |
void |
reset() |
private void |
setState(MultiPartParser.FieldState state) |
private void |
setState(MultiPartParser.State state) |
private void |
setString(java.lang.String s) |
private java.lang.String |
takeString() |
java.lang.String |
toString() |
public static final Logger LOG
private static final java.util.EnumSet<MultiPartParser.State> __delimiterStates
private static final int MAX_HEADER_LINE_LENGTH
private final boolean DEBUG
private final MultiPartParser.Handler _handler
private final SearchPattern _delimiterSearch
private java.lang.String _fieldName
private java.lang.String _fieldValue
private MultiPartParser.State _state
private MultiPartParser.FieldState _fieldState
private int _partialBoundary
private boolean _cr
private java.nio.ByteBuffer _patternBuffer
private final Utf8StringBuilder _string
private int _length
private int _totalHeaderLineLength
public MultiPartParser(MultiPartParser.Handler handler, java.lang.String boundary)
public void reset()
public MultiPartParser.Handler getHandler()
public MultiPartParser.State getState()
public boolean isState(MultiPartParser.State state)
private static boolean hasNextByte(java.nio.ByteBuffer buffer)
private HttpTokens.Token next(java.nio.ByteBuffer buffer)
private void setString(java.lang.String s)
private java.lang.String takeString()
public boolean parse(java.nio.ByteBuffer buffer, boolean last)
buffer
- the buffer to parselast
- whether this buffer contains last bit of contentHttpParser.RequestHandler
method was called and it returned true;private void parsePreamble(java.nio.ByteBuffer buffer)
private void parseDelimiter(java.nio.ByteBuffer buffer)
protected boolean parseMimePartHeaders(java.nio.ByteBuffer buffer)
private void handleField()
protected boolean parseOctetContent(java.nio.ByteBuffer buffer)
private void setState(MultiPartParser.State state)
private void setState(MultiPartParser.FieldState state)
public java.lang.String toString()
toString
in class java.lang.Object