Top Description Inners Fields Constructors Methods
org.eclipse.jetty.server.internal

public Class MultiPartParser

extends Object
Class Inheritance
Imports
java.nio.ByteBuffer, java.nio.charset.StandardCharsets, java.util.EnumSet, org.eclipse.jetty.http.BadMessageException, .HttpParser.RequestHandler, .HttpTokens, org.eclipse.jetty.util.BufferUtil, .SearchPattern, .Utf8StringBuilder, org.slf4j.Logger, .LoggerFactory

A parser for MultiPart content type.
See Also
https://tools.ietf.org/html/rfc2046#section-5.1, https://tools.ietf.org/html/rfc2045 TODO convert to use a org.eclipse.jetty.io.Content.Source and to be async

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static enum
public static interface
private static class
public static enum

Field Summary

Modifier and TypeField and Description
private static final EnumSet<MultiPartParser.State>
private boolean
private final SearchPattern
private String
private MultiPartParser.FieldState
private String
private final MultiPartParser.Handler
private int
private int
private ByteBuffer
private MultiPartParser.State
private final Utf8StringBuilder
private int
private final boolean
public static final Logger
private static final int

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public MultiPartParser.Handler
public MultiPartParser.State
private void
private static boolean
public boolean
private HttpTokens.Token
next(ByteBuffer buffer)

public boolean

Returns:

True if an RequestHandler method was called and it returned true;
parse
(ByteBuffer
the buffer to parse
buffer
,
boolean
whether this buffer contains last bit of content
last
)

Parse until next Event.

private void
protected boolean
protected boolean
private void
public void
private void
private void
private void
private String
public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait

Field Detail

__delimiterStatesback to summary
private static final EnumSet<MultiPartParser.State> __delimiterStates
_crback to summary
private boolean _cr
_delimiterSearchback to summary
private final SearchPattern _delimiterSearch
_fieldNameback to summary
private String _fieldName
_fieldStateback to summary
private MultiPartParser.FieldState _fieldState
_fieldValueback to summary
private String _fieldValue
_handlerback to summary
private final MultiPartParser.Handler _handler
_lengthback to summary
private int _length
_partialBoundaryback to summary
private int _partialBoundary
_patternBufferback to summary
private ByteBuffer _patternBuffer
_stateback to summary
private MultiPartParser.State _state
_stringback to summary
private final Utf8StringBuilder _string
_totalHeaderLineLengthback to summary
private int _totalHeaderLineLength
debugEnabledback to summary
private final boolean debugEnabled
LOGback to summary
public static final Logger LOG
MAX_HEADER_LINE_LENGTHback to summary
private static final int MAX_HEADER_LINE_LENGTH

Constructor Detail

MultiPartParserback to summary
public MultiPartParser(MultiPartParser.Handler handler, String boundary)

Method Detail

getHandlerback to summary
public MultiPartParser.Handler getHandler()
getStateback to summary
public MultiPartParser.State getState()
handleFieldback to summary
private void handleField()
hasNextByteback to summary
private static boolean hasNextByte(ByteBuffer buffer)
isStateback to summary
public boolean isState(MultiPartParser.State state)
nextback to summary
private HttpTokens.Token next(ByteBuffer buffer)
parseback to summary
public boolean parse(ByteBuffer buffer, boolean last)

Parse until next Event.

Parameters
buffer:ByteBuffer

the buffer to parse

last:boolean

whether this buffer contains last bit of content

Returns:boolean

True if an RequestHandler method was called and it returned true;

parseDelimiterback to summary
private void parseDelimiter(ByteBuffer buffer)
parseMimePartHeadersback to summary
protected boolean parseMimePartHeaders(ByteBuffer buffer)
parseOctetContentback to summary
protected boolean parseOctetContent(ByteBuffer buffer)
parsePreambleback to summary
private void parsePreamble(ByteBuffer buffer)
resetback to summary
public void reset()
setStateback to summary
private void setState(MultiPartParser.State state)
setStateback to summary
private void setState(MultiPartParser.FieldState state)
setStringback to summary
private void setString(String s)
takeStringback to summary
private String takeString()
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

Returns:String

a string representation of the object

Annotations
@Override
org.eclipse.jetty.server.internal back to summary

public final Enum MultiPartParser.FieldState

extends Enum<MultiPartParser.FieldState>
Class Inheritance

Field Summary

Modifier and TypeField and Description
public static final MultiPartParser.FieldState
public static final MultiPartParser.FieldState
public static final MultiPartParser.FieldState
public static final MultiPartParser.FieldState
public static final MultiPartParser.FieldState

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static MultiPartParser.FieldState
public static MultiPartParser.FieldState[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinaltoStringvalueOf

Field Detail

AFTER_NAMEback to summary
public static final MultiPartParser.FieldState AFTER_NAME
FIELDback to summary
public static final MultiPartParser.FieldState FIELD
IN_NAMEback to summary
public static final MultiPartParser.FieldState IN_NAME
IN_VALUEback to summary
public static final MultiPartParser.FieldState IN_VALUE
VALUEback to summary
public static final MultiPartParser.FieldState VALUE

Constructor Detail

FieldStateback to summary
private FieldState()

Method Detail

valueOfback to summary
public static MultiPartParser.FieldState valueOf(String name)
valuesback to summary
public static MultiPartParser.FieldState[] values()
org.eclipse.jetty.server.internal back to summary

public Interface MultiPartParser.Handler


Method Summary

Modifier and TypeMethod and Description
public default boolean
content(ByteBuffer item, boolean last)

public default void
public default boolean
public default boolean
public default void
parsedField(String name, String value)

public default void

Method Detail

contentback to summary
public default boolean content(ByteBuffer item, boolean last)
Annotations
@SuppressWarnings:unused
earlyEOFback to summary
public default void earlyEOF()
headerCompleteback to summary
public default boolean headerComplete()
messageCompleteback to summary
public default boolean messageComplete()
parsedFieldback to summary
public default void parsedField(String name, String value)
Annotations
@SuppressWarnings:unused
startPartback to summary
public default void startPart()
org.eclipse.jetty.server.internal back to summary

private Class MultiPartParser.IllegalCharacterException

extends BadMessageException
Class Inheritance
Annotations
@SuppressWarnings:serial

Constructor Summary

AccessConstructor and Description
private

Constructor Detail

IllegalCharacterExceptionback to summary
private IllegalCharacterException(MultiPartParser.State state, HttpTokens.Token token, ByteBuffer buffer)
org.eclipse.jetty.server.internal back to summary

public final Enum MultiPartParser.State

extends Enum<MultiPartParser.State>
Class Inheritance

Field Summary

Modifier and TypeField and Description
public static final MultiPartParser.State
public static final MultiPartParser.State
public static final MultiPartParser.State
public static final MultiPartParser.State
public static final MultiPartParser.State
public static final MultiPartParser.State
public static final MultiPartParser.State
public static final MultiPartParser.State
public static final MultiPartParser.State

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static MultiPartParser.State
public static MultiPartParser.State[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinaltoStringvalueOf

Field Detail

BODY_PARTback to summary
public static final MultiPartParser.State BODY_PART
DELIMITERback to summary
public static final MultiPartParser.State DELIMITER
DELIMITER_CLOSEback to summary
public static final MultiPartParser.State DELIMITER_CLOSE
DELIMITER_PADDINGback to summary
public static final MultiPartParser.State DELIMITER_PADDING
ENDback to summary
public static final MultiPartParser.State END
EPILOGUEback to summary
public static final MultiPartParser.State EPILOGUE
FIRST_OCTETSback to summary
public static final MultiPartParser.State FIRST_OCTETS
OCTETSback to summary
public static final MultiPartParser.State OCTETS
PREAMBLEback to summary
public static final MultiPartParser.State PREAMBLE

Constructor Detail

Stateback to summary
private State()

Method Detail

valueOfback to summary
public static MultiPartParser.State valueOf(String name)
valuesback to summary
public static MultiPartParser.State[] values()