Package one.nio.http
Class Request
- java.lang.Object
-
- one.nio.http.Request
-
public class Request extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private byte[]bodyprivate intheaderCountprivate java.lang.String[]headersprivate static byte[]HTTP10_HEADERprivate booleanhttp11private static byte[]HTTP11_HEADERprivate intmethodstatic intMETHOD_CONNECTstatic intMETHOD_DELETEstatic intMETHOD_GETstatic intMETHOD_HEADstatic intMETHOD_OPTIONSstatic intMETHOD_PATCHstatic intMETHOD_POSTstatic intMETHOD_PUTstatic intMETHOD_TRACE(package private) static java.lang.String[]METHODSstatic intNUMBER_OF_METHODSprivate intparamsprivate static intPROTOCOL_HEADER_LENGTHprivate java.lang.Stringuri(package private) static byte[][]VERBS
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddHeader(java.lang.String header)voidconsumeHeaders(java.lang.String prefix, java.util.function.Consumer<java.lang.String> suffixConsumer)voidconsumeHeaderValues(java.lang.String key, java.util.function.Consumer<java.lang.String> suffixConsumer)Consume trimmed header value after ':' delimiterbyte[]getBody()java.lang.StringgetHeader(java.lang.String key)java.lang.StringgetHeader(java.lang.String key, java.lang.String defaultValue)intgetHeaderCount()java.lang.String[]getHeaders()java.lang.StringgetHeaderValue(java.lang.String key)Returns trimmed header value after ':' delimiterjava.lang.StringgetHost()intgetMethod()java.lang.StringgetMethodName()java.lang.StringgetParameter(java.lang.String key)java.lang.StringgetParameter(java.lang.String key, java.lang.String defaultValue)java.lang.Iterable<java.util.Map.Entry<java.lang.String,java.lang.String>>getParameters()java.util.Iterator<java.lang.String>getParameters(java.lang.String key)java.lang.StringgetPath()java.util.Map<java.lang.String,java.lang.String>getPostParams()java.lang.StringgetQueryString()java.lang.StringgetRequiredHeader(java.lang.String key)java.lang.StringgetRequiredParameter(java.lang.String key)java.lang.StringgetURI()booleanisEarlyData()booleanisHttp11()voidsetBody(byte[] body)voidsetBodyUtf8(java.lang.String body)(package private) voidsetEarlyData(boolean earlyData)byte[]toBytes()java.lang.StringtoString()(package private) static java.lang.Stringtrim(java.lang.String s, int from)
-
-
-
Field Detail
-
METHOD_GET
public static final int METHOD_GET
- See Also:
- Constant Field Values
-
METHOD_POST
public static final int METHOD_POST
- See Also:
- Constant Field Values
-
METHOD_HEAD
public static final int METHOD_HEAD
- See Also:
- Constant Field Values
-
METHOD_OPTIONS
public static final int METHOD_OPTIONS
- See Also:
- Constant Field Values
-
METHOD_PUT
public static final int METHOD_PUT
- See Also:
- Constant Field Values
-
METHOD_DELETE
public static final int METHOD_DELETE
- See Also:
- Constant Field Values
-
METHOD_TRACE
public static final int METHOD_TRACE
- See Also:
- Constant Field Values
-
METHOD_CONNECT
public static final int METHOD_CONNECT
- See Also:
- Constant Field Values
-
METHOD_PATCH
public static final int METHOD_PATCH
- See Also:
- Constant Field Values
-
NUMBER_OF_METHODS
public static final int NUMBER_OF_METHODS
- See Also:
- Constant Field Values
-
METHODS
static final java.lang.String[] METHODS
-
VERBS
static final byte[][] VERBS
-
HTTP10_HEADER
private static final byte[] HTTP10_HEADER
-
HTTP11_HEADER
private static final byte[] HTTP11_HEADER
-
PROTOCOL_HEADER_LENGTH
private static final int PROTOCOL_HEADER_LENGTH
- See Also:
- Constant Field Values
-
method
private int method
-
uri
private java.lang.String uri
-
http11
private boolean http11
-
params
private int params
-
headerCount
private int headerCount
-
headers
private java.lang.String[] headers
-
body
private byte[] body
-
-
Constructor Detail
-
Request
public Request(int method, java.lang.String uri, boolean http11)
-
Request
public Request(Request prototype)
-
-
Method Detail
-
getMethod
public int getMethod()
-
getMethodName
public java.lang.String getMethodName()
-
getURI
public java.lang.String getURI()
-
isHttp11
public boolean isHttp11()
-
setEarlyData
void setEarlyData(boolean earlyData)
-
isEarlyData
public boolean isEarlyData()
-
getPath
public java.lang.String getPath()
-
getQueryString
public java.lang.String getQueryString()
-
getParameter
public java.lang.String getParameter(java.lang.String key)
-
getParameters
public java.util.Iterator<java.lang.String> getParameters(java.lang.String key)
-
getParameter
public java.lang.String getParameter(java.lang.String key, java.lang.String defaultValue)
-
getRequiredParameter
public java.lang.String getRequiredParameter(java.lang.String key)
-
getParameters
public java.lang.Iterable<java.util.Map.Entry<java.lang.String,java.lang.String>> getParameters()
- Returns:
IterableoverStringkey[=[value]]parameters skipping empty parameters
-
getPostParams
public java.util.Map<java.lang.String,java.lang.String> getPostParams()
-
getHeaderCount
public int getHeaderCount()
-
getHeaders
public java.lang.String[] getHeaders()
-
getHeader
public java.lang.String getHeader(java.lang.String key)
-
consumeHeaders
public void consumeHeaders(java.lang.String prefix, java.util.function.Consumer<java.lang.String> suffixConsumer)
-
getHeaderValue
public java.lang.String getHeaderValue(java.lang.String key)
Returns trimmed header value after ':' delimiter- Parameters:
key- header name without ':'- Returns:
- trimmed value after key:
-
consumeHeaderValues
public void consumeHeaderValues(java.lang.String key, java.util.function.Consumer<java.lang.String> suffixConsumer)Consume trimmed header value after ':' delimiter- Parameters:
key- header name without ':'suffixConsumer- a function for processing the header value
-
getHeader
public java.lang.String getHeader(java.lang.String key, java.lang.String defaultValue)
-
getRequiredHeader
public java.lang.String getRequiredHeader(java.lang.String key)
-
addHeader
public void addHeader(java.lang.String header)
-
getBody
public byte[] getBody()
-
setBody
public void setBody(byte[] body)
-
setBodyUtf8
public void setBodyUtf8(java.lang.String body)
-
getHost
public java.lang.String getHost()
-
toBytes
public byte[] toBytes()
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
trim
static java.lang.String trim(java.lang.String s, int from)
-
-