Package org.eclipse.jetty.http
Class MultiPartParser
- java.lang.Object
-
- org.eclipse.jetty.http.MultiPartParser
-
public class MultiPartParser extends java.lang.Object
A parser for MultiPart content type.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
MultiPartParser.FieldState
static interface
MultiPartParser.Handler
private static class
MultiPartParser.IllegalCharacterException
static class
MultiPartParser.State
-
Field Summary
Fields Modifier and Type Field 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 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.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()
-
-
-
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.RequestHandler
method 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:
toString
in classjava.lang.Object
-
-