io.undertow.server.protocol.ajp

## Class AjpRequestParser

- java.lang.Object
- - io.undertow.server.protocol.ajp.AjpRequestParser

    public class AjpRequestParser
    extends Object

Author:
  Stuart Douglas

### Nested Class Summary

Nested Classes
`protected static class` `AjpRequestParser.IntegerHolder`
`protected static class` `AjpRequestParser.StringHolder`

### Field Summary

Fields
`static String` `AJP_REMOTE_PORT`
`static String` `AUTH_TYPE`
`static String` `CONTEXT`
`static int` `CPING`
`static int` `CPONG`
`static int` `FORWARD_REQUEST`
`static String` `QUERY_STRING`
`static String` `REMOTE_USER`
`static String` `REQ_ATTRIBUTE`
`static String` `ROUTE`
`static String` `SECRET`
`static String` `SERVLET_PATH`
`static int` `SHUTDOWN`
`static String` `SSL_CERT`
`static String` `SSL_CIPHER`
`static String` `SSL_KEY_SIZE`
`static String` `SSL_SESSION`
`static String` `STORED_METHOD`
`static int` `STRING_LENGTH_MASK`

### Constructor Summary

Constructors
Constructor and Description
`AjpRequestParser(String encoding, boolean doDecode, int maxParameters, int maxHeaders, boolean allowEncodedSlash, boolean allowUnescapedCharactersInUrl)`
`AjpRequestParser(String encoding, boolean doDecode, int maxParameters, int maxHeaders, boolean allowEncodedSlash, boolean allowUnescapedCharactersInUrl, String allowedRequestAttributesPattern)`

### Method Summary

All Methods Instance Methods Concrete Methods
`protected HttpString` `headers(int offset)`
`void` `parse(ByteBuffer buf, io.undertow.server.protocol.ajp.AjpRequestParseState state, HttpServerExchange exchange)`
`protected AjpRequestParser.IntegerHolder` `parse16BitInteger(ByteBuffer buf, io.undertow.server.protocol.ajp.AjpRequestParseState state)`
`protected AjpRequestParser.StringHolder` `parseString(ByteBuffer buf, io.undertow.server.protocol.ajp.AjpRequestParseState state, io.undertow.server.protocol.ajp.AjpRequestParser.StringType type)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### FORWARD_REQUEST

    public static final int FORWARD_REQUEST

See Also:
  Constant Field Values

#### CPONG

    public static final int CPONG

See Also:
  Constant Field Values

#### CPING

    public static final int CPING

See Also:
  Constant Field Values

#### SHUTDOWN

    public static final int SHUTDOWN

See Also:
  Constant Field Values

#### QUERY_STRING

    public static final String QUERY_STRING

See Also:
  Constant Field Values

#### SSL_CERT

    public static final String SSL_CERT

See Also:
  Constant Field Values

#### CONTEXT

    public static final String CONTEXT

See Also:
  Constant Field Values

#### SERVLET_PATH

    public static final String SERVLET_PATH

See Also:
  Constant Field Values

#### REMOTE_USER

    public static final String REMOTE_USER

See Also:
  Constant Field Values

#### AUTH_TYPE

    public static final String AUTH_TYPE

See Also:
  Constant Field Values

#### ROUTE

    public static final String ROUTE

See Also:
  Constant Field Values

#### SSL_CIPHER

    public static final String SSL_CIPHER

See Also:
  Constant Field Values

#### SSL_SESSION

    public static final String SSL_SESSION

See Also:
  Constant Field Values

#### REQ_ATTRIBUTE

    public static final String REQ_ATTRIBUTE

See Also:
  Constant Field Values

#### SSL_KEY_SIZE

    public static final String SSL_KEY_SIZE

See Also:
  Constant Field Values

#### SECRET

    public static final String SECRET

See Also:
  Constant Field Values

#### STORED_METHOD

    public static final String STORED_METHOD

See Also:
  Constant Field Values

#### AJP_REMOTE_PORT

    public static final String AJP_REMOTE_PORT

See Also:
  Constant Field Values

#### STRING_LENGTH_MASK

    public static final int STRING_LENGTH_MASK

See Also:
  Constant Field Values

### Constructor Detail

#### AjpRequestParser

    public AjpRequestParser(String encoding,
                            boolean doDecode,
                            int maxParameters,
                            int maxHeaders,
                            boolean allowEncodedSlash,
                            boolean allowUnescapedCharactersInUrl)

#### AjpRequestParser

    public AjpRequestParser(String encoding,
                            boolean doDecode,
                            int maxParameters,
                            int maxHeaders,
                            boolean allowEncodedSlash,
                            boolean allowUnescapedCharactersInUrl,
                            String allowedRequestAttributesPattern)

### Method Detail

#### parse

    public void parse(ByteBuffer buf,
                      io.undertow.server.protocol.ajp.AjpRequestParseState state,
                      HttpServerExchange exchange)
               throws IOException,
                      BadRequestException

Throws:
  `IOException`
  `BadRequestException`

#### headers

    protected HttpString headers(int offset)

#### parse16BitInteger

    protected AjpRequestParser.IntegerHolder parse16BitInteger(ByteBuffer buf,
                                                               io.undertow.server.protocol.ajp.AjpRequestParseState state)

#### parseString

    protected AjpRequestParser.StringHolder parseString(ByteBuffer buf,
                                                        io.undertow.server.protocol.ajp.AjpRequestParseState state,
                                                        io.undertow.server.protocol.ajp.AjpRequestParser.StringType type)
                                                 throws UnsupportedEncodingException,
                                                        BadRequestException

Throws:
  `UnsupportedEncodingException`
  `BadRequestException`