Package org.eclipse.jetty.http
Class MultiPartParser
- java.lang.Object
-
- org.eclipse.jetty.http.MultiPartParser
-
public class MultiPartParser extends java.lang.ObjectA parser for MultiPart content type.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classMultiPartParser.FieldStatestatic interfaceMultiPartParser.Handlerprivate static classMultiPartParser.IllegalCharacterExceptionstatic classMultiPartParser.State
-
Field Summary
Fields Modifier and Type Field Description private static java.util.EnumSet<MultiPartParser.State>__delimiterStatesprivate boolean_crprivate SearchPattern_delimiterSearchprivate java.lang.String_fieldNameprivate MultiPartParser.FieldState_fieldStateprivate java.lang.String_fieldValueprivate MultiPartParser.Handler_handlerprivate int_lengthprivate int_partialBoundaryprivate java.nio.ByteBuffer_patternBufferprivate MultiPartParser.State_stateprivate Utf8StringBuilder_stringprivate int_totalHeaderLineLengthprivate booleandebugstatic LoggerLOGprivate static intMAX_HEADER_LINE_LENGTH
-
Constructor Summary
Constructors Constructor Description MultiPartParser(MultiPartParser.Handler handler, java.lang.String boundary)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description MultiPartParser.HandlergetHandler()MultiPartParser.StategetState()private voidhandleField()private static booleanhasNextByte(java.nio.ByteBuffer buffer)booleanisState(MultiPartParser.State state)private HttpTokens.Tokennext(java.nio.ByteBuffer buffer)booleanparse(java.nio.ByteBuffer buffer, boolean last)Parse until next Event.private voidparseDelimiter(java.nio.ByteBuffer buffer)protected booleanparseMimePartHeaders(java.nio.ByteBuffer buffer)protected booleanparseOctetContent(java.nio.ByteBuffer buffer)private voidparsePreamble(java.nio.ByteBuffer buffer)voidreset()private voidsetState(MultiPartParser.FieldState state)private voidsetState(MultiPartParser.State state)private voidsetString(java.lang.String s)private java.lang.StringtakeString()java.lang.StringtoString()
-
-
-
Field Detail
-
LOG
public static final Logger LOG
-
__delimiterStates
private static final java.util.EnumSet<MultiPartParser.State> __delimiterStates
-
MAX_HEADER_LINE_LENGTH
private static final int MAX_HEADER_LINE_LENGTH
- See Also:
- Constant Field Values
-
debug
private final boolean debug
-
_handler
private final MultiPartParser.Handler _handler
-
_delimiterSearch
private final SearchPattern _delimiterSearch
-
_fieldName
private java.lang.String _fieldName
-
_fieldValue
private java.lang.String _fieldValue
-
_state
private MultiPartParser.State _state
-
_fieldState
private MultiPartParser.FieldState _fieldState
-
_partialBoundary
private int _partialBoundary
-
_cr
private boolean _cr
-
_patternBuffer
private java.nio.ByteBuffer _patternBuffer
-
_string
private final Utf8StringBuilder _string
-
_length
private int _length
-
_totalHeaderLineLength
private int _totalHeaderLineLength
-
-
Constructor Detail
-
MultiPartParser
public MultiPartParser(MultiPartParser.Handler handler, java.lang.String boundary)
-
-
Method Detail
-
reset
public void reset()
-
getHandler
public MultiPartParser.Handler getHandler()
-
getState
public MultiPartParser.State getState()
-
isState
public boolean isState(MultiPartParser.State state)
-
hasNextByte
private static boolean hasNextByte(java.nio.ByteBuffer buffer)
-
next
private HttpTokens.Token next(java.nio.ByteBuffer buffer)
-
setString
private void setString(java.lang.String s)
-
takeString
private java.lang.String takeString()
-
parse
public boolean parse(java.nio.ByteBuffer buffer, boolean last)Parse until next Event.- Parameters:
buffer- the buffer to parselast- whether this buffer contains last bit of content- Returns:
- True if an
HttpParser.RequestHandlermethod was called and it returned true;
-
parsePreamble
private void parsePreamble(java.nio.ByteBuffer buffer)
-
parseDelimiter
private void parseDelimiter(java.nio.ByteBuffer buffer)
-
parseMimePartHeaders
protected boolean parseMimePartHeaders(java.nio.ByteBuffer buffer)
-
handleField
private void handleField()
-
parseOctetContent
protected boolean parseOctetContent(java.nio.ByteBuffer buffer)
-
setState
private void setState(MultiPartParser.State state)
-
setState
private void setState(MultiPartParser.FieldState state)
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-