io.undertow.annotationprocessor.AbstractParserGenerator annotation processor.
The actual processor is a state machine, that means that for common header, method, protocol values it will return an interned string, rather than creating a new string for each one.
| Modifier and Type | Field and Description |
|---|---|
| private static final boolean[] | |
| private final boolean | |
| private final boolean | |
| private static final int | |
| private static final int | |
| private final String | |
| private final boolean | |
| private static final int | |
| private static final int | |
| private static final int | |
| private static final byte[] | |
| public static final int | |
| private static final String | |
| private static final int | |
| private static final int | |
| private final int | |
| private final int | |
| private final int | |
| private static final int | NORMAL
The parse states for parsing heading values |
| private static final int | |
| private static final int | |
| private static final int | |
| private static final int | |
| private final boolean | |
| private static final int | START
The parse states for parsing the path. |
| private static final int |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| private void | beginQueryParameters(ByteBuffer buffer, ParseState state, HttpServerExchange exchange, StringBuilder stringBuilder, int parseState, int canonicalPathStart, boolean urlDecodeRequired)
|
| private String | decode(final String value, boolean urlDecodeRequired, ParseState state, final boolean slashDecodingFlag, final boolean formEncoded)
|
| public void | |
| protected void | |
| protected boolean | handleCachedHeader(String existing, ByteBuffer buffer, ParseState state, HttpServerExchange builder)
|
| private void | handleFullUrl(ParseState state, HttpServerExchange exchange, int canonicalPathStart, boolean urlDecodeRequired, String path, int parseState)
|
| pack-priv abstract void | |
| pack-priv final void | Returns: The number of bytes remainingThe buffer buffer, ParseState The current state state, HttpServerExchange The exchange builder builder)Parses a header value. |
| private void | handleHeaderValueCacheMiss(ByteBuffer buffer, ParseState state, HttpServerExchange builder, HttpString headerName, CacheMap<HttpString, String> headerValuesCache, StringBuilder stringBuilder)
|
| pack-priv abstract void | |
| pack-priv abstract void | handleHttpVersion(ByteBuffer buffer, final ParseState currentState, final HttpServerExchange builder)
|
| private void | handleParsedParam(String paramName, String parameterValue, HttpServerExchange exchange, boolean urlDecodeRequired, ParseState state)
|
| pack-priv final void | Returns: The number of bytes remainingThe buffer buffer, ParseState The current state state, HttpServerExchange The exchange builder exchange)Parses a path value |
| pack-priv final void | handlePathParameters(ByteBuffer buffer, ParseState state, HttpServerExchange exchange)
This method should only ever be called if the path contains am non-decoded semi colon character ';' |
| pack-priv final void | Returns: The number of bytes remainingThe buffer buffer, ParseState The current state state, HttpServerExchange The exchange builder exchange)Parses query string parameters |
| private void | |
| protected static Map | httpStrings()
This is a bit of hack to enable the parser to get access to the HttpString's that are sorted in the static fields of the relevant classes. |
| public static final HttpRequestParser | |
| public static boolean | |
| private void | parsePathComplete(ParseState state, HttpServerExchange exchange, int canonicalPathStart, int parseState, boolean urlDecodeRequired, String path)
|
| private void |
| ALLOWED_TARGET_CHARACTER | back to summary |
|---|---|
| private static final boolean[] ALLOWED_TARGET_CHARACTER | |
| allowIDLessMatrixParams | back to summary |
|---|---|
| private final boolean allowIDLessMatrixParams | |
| allowUnescapedCharactersInUrl | back to summary |
|---|---|
| private final boolean allowUnescapedCharactersInUrl | |
| AWAIT_DATA_END | back to summary |
|---|---|
| private static final int AWAIT_DATA_END | |
| BEGIN_LINE_END | back to summary |
|---|---|
| private static final int BEGIN_LINE_END | |
| charset | back to summary |
|---|---|
| private final String charset | |
| decode | back to summary |
|---|---|
| private final boolean decode | |
| FIRST_COLON | back to summary |
|---|---|
| private static final int FIRST_COLON | |
| FIRST_SLASH | back to summary |
|---|---|
| private static final int FIRST_SLASH | |
| HOST_DONE | back to summary |
|---|---|
| private static final int HOST_DONE | |
| HTTP | back to summary |
|---|---|
| private static final byte[] HTTP | |
| HTTP_LENGTH | back to summary |
|---|---|
| public static final int HTTP_LENGTH | |
| ID_LESS_MATRIX_PARAMS_PROPERTY | back to summary |
|---|---|
| private static final String ID_LESS_MATRIX_PARAMS_PROPERTY | |
| IN_PATH | back to summary |
|---|---|
| private static final int IN_PATH | |
| LINE_END | back to summary |
|---|---|
| private static final int LINE_END | |
| maxCachedHeaderSize | back to summary |
|---|---|
| private final int maxCachedHeaderSize | |
| maxHeaders | back to summary |
|---|---|
| private final int maxHeaders | |
| maxParameters | back to summary |
|---|---|
| private final int maxParameters | |
| NORMAL | back to summary |
|---|---|
| private static final int NORMAL The parse states for parsing heading values | |
| PATH_DOT_SEGMENT | back to summary |
|---|---|
| private static final int PATH_DOT_SEGMENT | |
| PATH_NON_DOT_SEGMENT | back to summary |
|---|---|
| private static final int PATH_NON_DOT_SEGMENT | |
| PATH_SEGMENT_START | back to summary |
|---|---|
| private static final int PATH_SEGMENT_START | |
| SECOND_SLASH | back to summary |
|---|---|
| private static final int SECOND_SLASH | |
| slashDecodingFlag | back to summary |
|---|---|
| private final boolean slashDecodingFlag | |
| START | back to summary |
|---|---|
| private static final int START The parse states for parsing the path. | |
| WHITESPACE | back to summary |
|---|---|
| private static final int WHITESPACE | |
| HttpRequestParser | back to summary |
|---|---|
| public HttpRequestParser(OptionMap options) | |
| beginQueryParameters | back to summary |
|---|---|
| private void beginQueryParameters(ByteBuffer buffer, ParseState state, HttpServerExchange exchange, StringBuilder stringBuilder, int parseState, int canonicalPathStart, boolean urlDecodeRequired) throws BadRequestException | |
| decode | back to summary |
|---|---|
| private String decode(final String value, boolean urlDecodeRequired, ParseState state, final boolean slashDecodingFlag, final boolean formEncoded) | |
| handle | back to summary |
|---|---|
| public void handle(ByteBuffer buffer, final ParseState currentState, final HttpServerExchange builder) throws BadRequestException | |
| handleAfterVersion | back to summary |
|---|---|
| protected void handleAfterVersion(ByteBuffer buffer, ParseState state) throws BadRequestException | |
| handleCachedHeader | back to summary |
|---|---|
| protected boolean handleCachedHeader(String existing, ByteBuffer buffer, ParseState state, HttpServerExchange builder) throws BadRequestException | |
| handleFullUrl | back to summary |
|---|---|
| private void handleFullUrl(ParseState state, HttpServerExchange exchange, int canonicalPathStart, boolean urlDecodeRequired, String path, int parseState) | |
| handleHeader | back to summary |
|---|---|
| pack-priv abstract void handleHeader(ByteBuffer buffer, final ParseState currentState, final HttpServerExchange builder) throws BadRequestException | |
| handleHeaderValue | back to summary |
|---|---|
| pack-priv final void handleHeaderValue(ByteBuffer buffer, ParseState state, HttpServerExchange builder) throws BadRequestException Parses a header value. This is called from the generated bytecode.
| |
| handleHeaderValueCacheMiss | back to summary |
|---|---|
| private void handleHeaderValueCacheMiss(ByteBuffer buffer, ParseState state, HttpServerExchange builder, HttpString headerName, CacheMap<HttpString, String> headerValuesCache, StringBuilder stringBuilder) throws BadRequestException | |
| handleHttpVerb | back to summary |
|---|---|
| pack-priv abstract void handleHttpVerb(ByteBuffer buffer, final ParseState currentState, final HttpServerExchange builder) throws BadRequestException | |
| handleHttpVersion | back to summary |
|---|---|
| pack-priv abstract void handleHttpVersion(ByteBuffer buffer, final ParseState currentState, final HttpServerExchange builder) throws BadRequestException | |
| handleParsedParam | back to summary |
|---|---|
| private void handleParsedParam(String paramName, String parameterValue, HttpServerExchange exchange, boolean urlDecodeRequired, ParseState state) throws BadRequestException | |
| handlePath | back to summary |
|---|---|
| pack-priv final void handlePath(ByteBuffer buffer, ParseState state, HttpServerExchange exchange) throws BadRequestException Parses a path value
| |
| handlePathParameters | back to summary |
|---|---|
| pack-priv final void handlePathParameters(ByteBuffer buffer, ParseState state, HttpServerExchange exchange) throws BadRequestException This method should only ever be called if the path contains am non-decoded semi colon character ';' | |
| handleQueryParameters | back to summary |
|---|---|
| pack-priv final void handleQueryParameters(ByteBuffer buffer, ParseState state, HttpServerExchange exchange) throws BadRequestException Parses query string parameters
| |
| handleStateful | back to summary |
|---|---|
| private void handleStateful(ByteBuffer buffer, ParseState currentState, HttpServerExchange builder) throws BadRequestException | |
| httpStrings | back to summary |
|---|---|
| protected static Map This is a bit of hack to enable the parser to get access to the HttpString's that are sorted in the static fields of the relevant classes. This means that in most cases a HttpString comparison will take the fast path == route, as they will be the same object
| |
| instance | back to summary |
|---|---|
| public static final HttpRequestParser instance(final OptionMap options) | |
| isTargetCharacterAllowed | back to summary |
|---|---|
| public static boolean isTargetCharacterAllowed(char c) | |
| parsePathComplete | back to summary |
|---|---|
| private void parsePathComplete(ParseState state, HttpServerExchange exchange, int canonicalPathStart, int parseState, boolean urlDecodeRequired, String path) | |
| sanitazeListTypeHeaders | back to summary |
|---|---|
| private void sanitazeListTypeHeaders(final HttpServerExchange builder) | |