public class HttpRequest extends Request<HttpContext>
详情见: http://www.redkale.org
| 限定符和类型 | 字段和说明 |
|---|---|
protected boolean |
boundary |
protected java.lang.String |
cookiestr |
protected AnyValue.DefaultAnyValue |
header |
protected java.lang.String |
newsessionid |
protected AnyValue.DefaultAnyValue |
params |
protected java.lang.String |
requestURI |
protected static java.lang.String |
SESSIONID_NAME |
protected static java.nio.charset.Charset |
UTF8 |
attributes, bsonConvert, channel, context, createtime, jsonConvert, keepAlive| 构造器和说明 |
|---|
HttpRequest(HttpContext context,
java.lang.String remoteAddrHeader) |
| 限定符和类型 | 方法和说明 |
|---|---|
java.lang.String |
changeSessionid()
更新sessionid
|
java.lang.String |
getBody(java.nio.charset.Charset charset)
获取请求内容指定的编码字符串
|
java.lang.String |
getBodyUTF8()
获取请求内容的UTF-8编码字符串
|
boolean |
getBooleanHeader(java.lang.String name,
boolean defaultValue)
获取指定的header的boolean值, 没有返回默认boolean值
|
boolean |
getBooleanParameter(java.lang.String name,
boolean defaultValue)
获取指定的参数boolean值, 没有返回默认boolean值
|
protected AsyncConnection |
getChannel() |
java.lang.String |
getConnection()
获取Connection的Header值
|
long |
getContentLength()
获取请求内容的长度, 为-1表示内容长度不确定
|
java.lang.String |
getContentType()
获取Content-Type的header值
|
java.lang.String |
getCookie(java.lang.String name)
获取Cookie值
|
java.lang.String |
getCookie(java.lang.String name,
java.lang.String dfvalue)
获取Cookie值, 没有返回默认值
|
java.net.HttpCookie[] |
getCookies()
获取所有Cookie对象
|
double |
getDoubleHeader(java.lang.String name,
double defaultValue)
获取指定的header的double值, 没有返回默认double值
|
double |
getDoubleParameter(java.lang.String name,
double defaultValue)
获取指定的参数double值, 没有返回默认double值
|
float |
getFloatHeader(java.lang.String name,
float defaultValue)
获取指定的header的float值, 没有返回默认float值
|
float |
getFloatParameter(java.lang.String name,
float defaultValue)
获取指定的参数float值, 没有返回默认float值
|
java.lang.String |
getHeader(java.lang.String name)
获取指定的header值
|
java.lang.String |
getHeader(java.lang.String name,
java.lang.String defaultValue)
获取指定的header值, 没有返回默认值
|
java.lang.String[] |
getHeaderNames()
获取所有的header名
|
java.lang.String |
getHost()
获取Host的Header值
|
int |
getIntHeader(java.lang.String name,
int defaultValue)
获取指定的header的int值, 没有返回默认int值
|
int |
getIntParameter(java.lang.String name,
int defaultValue)
获取指定的参数int值, 没有返回默认int值
|
protected JsonConvert |
getJsonConvert() |
<T> T |
getJsonHeader(java.lang.Class<T> clazz,
java.lang.String name)
获取指定的header的json值
|
<T> T |
getJsonHeader(JsonConvert convert,
java.lang.Class<T> clazz,
java.lang.String name)
获取指定的header的json值
|
<T> T |
getJsonParameter(java.lang.Class<T> clazz,
java.lang.String name)
获取指定的参数json值
|
<T> T |
getJsonParameter(JsonConvert convert,
java.lang.Class<T> clazz,
java.lang.String name)
获取指定的参数json值
|
long |
getLongHeader(java.lang.String name,
long defaultValue)
获取指定的header的long值, 没有返回默认long值
|
long |
getLongParameter(java.lang.String name,
long defaultValue)
获取指定的参数long值, 没有返回默认long值
|
java.lang.String |
getMethod()
获取请求方法 GET、POST等
|
MultiContext |
getMultiContext()
获取文件上传对象
|
java.lang.String |
getParameter(java.lang.String name)
获取指定的参数值
|
java.lang.String |
getParameter(java.lang.String name,
java.lang.String defaultValue)
获取指定的参数值, 没有返回默认值
|
java.lang.String[] |
getParameterNames()
获取所有参数名
|
protected <T> T |
getProperty(java.lang.String name) |
java.lang.String |
getProtocol()
获取协议名 http、https、ws、wss等
|
java.lang.String |
getRemoteAddr()
获取客户端地址IP, 与getRemoteAddres() 的区别在于:本方法优先取header中指定为RemoteAddress名的值,没有则返回getRemoteAddres()的getHostAddress()。
|
java.net.SocketAddress |
getRemoteAddress()
获取客户端地址IP
|
java.lang.String |
getRequestURI()
获取请求的URL
|
java.lang.String |
getRequstURILastPath()
截取getRequestURI最后的一个/后面的部分
|
int |
getRequstURIPath(java.lang.String prefix,
int defvalue)
获取请求URL分段中含prefix段的int值
例如请求URL /pipes/record/query/page:2/size:50
获取page参数: int page = request.getRequstURIPath("page:", 1);
获取size参数: int size = request.getRequstURIPath("size:", 20);
|
long |
getRequstURIPath(java.lang.String prefix,
long defvalue)
获取请求URL分段中含prefix段的long值
例如请求URL /pipes/record/query/time:1453104341363/id:40
获取time参数: long time = request.getRequstURIPath("time:", 0L);
|
short |
getRequstURIPath(java.lang.String prefix,
short defvalue)
获取请求URL分段中含prefix段的short值
例如请求URL /pipes/record/query/type:10
获取type参数: short type = request.getRequstURIPath("type:", (short)0);
|
java.lang.String |
getRequstURIPath(java.lang.String prefix,
java.lang.String defvalue)
获取请求URL分段中含prefix段的值
例如请求URL /pipes/record/query/name:hello
获取name参数: String name = request.getRequstURIPath("name:", "none");
|
java.lang.String[] |
getRequstURIPaths(java.lang.String prefix)
从prefix之后截取getRequestURI再对"/"进行分隔
|
java.lang.String |
getSessionid(boolean create)
获取sessionid
|
short |
getShortHeader(java.lang.String name,
short defaultValue)
获取指定的header的short值, 没有返回默认short值
|
short |
getShortParameter(java.lang.String name,
short defaultValue)
获取指定的参数short值, 没有返回默认short值
|
void |
invalidateSession()
使sessionid失效
|
protected boolean |
isKeepAlive() |
java.lang.Iterable<MultiPart> |
multiParts()
获取文件上传信息列表
|
protected void |
prepare() |
protected int |
readBody(java.nio.ByteBuffer buffer)
读取buffer,并返回读取的有效数据长度
|
protected int |
readHeader(java.nio.ByteBuffer buffer)
返回值:Integer.MIN_VALUE: 帧数据; -1:数据不合法; 0:解析完毕; >0: 需再读取的字节数。
|
protected void |
recycle() |
protected void |
removeProperty(java.lang.String name) |
protected void |
setKeepAlive(boolean keepAlive) |
protected void |
setProperty(java.lang.String name,
java.lang.Object value) |
java.lang.String |
toString() |
getAttribute, getAttributes, getContext, getCreatetime, getProperties, removeAttribute, setAttributeprotected static final java.nio.charset.Charset UTF8
protected static final java.lang.String SESSIONID_NAME
protected java.lang.String requestURI
protected java.lang.String cookiestr
protected java.lang.String newsessionid
protected final AnyValue.DefaultAnyValue header
protected final AnyValue.DefaultAnyValue params
protected boolean boundary
public HttpRequest(HttpContext context, java.lang.String remoteAddrHeader)
protected void setKeepAlive(boolean keepAlive)
protected boolean isKeepAlive()
protected AsyncConnection getChannel()
protected JsonConvert getJsonConvert()
protected int readHeader(java.nio.ByteBuffer buffer)
RequestreadHeader 在类中 Request<HttpContext>buffer - ByteBuffer对象protected int readBody(java.nio.ByteBuffer buffer)
RequestreadBody 在类中 Request<HttpContext>buffer - ByteBuffer对象protected void prepare()
prepare 在类中 Request<HttpContext>protected void setProperty(java.lang.String name,
java.lang.Object value)
setProperty 在类中 Request<HttpContext>protected <T> T getProperty(java.lang.String name)
getProperty 在类中 Request<HttpContext>protected void removeProperty(java.lang.String name)
removeProperty 在类中 Request<HttpContext>public java.lang.String getRemoteAddr()
public java.lang.String getBody(java.nio.charset.Charset charset)
charset - 编码public java.lang.String getBodyUTF8()
public java.net.SocketAddress getRemoteAddress()
public java.lang.String toString()
toString 在类中 java.lang.Objectpublic final java.lang.Iterable<MultiPart> multiParts() throws java.io.IOException
java.io.IOException - IO异常public final MultiContext getMultiContext()
protected void recycle()
recycle 在类中 Request<HttpContext>public java.lang.String getSessionid(boolean create)
create - 无sessionid是否自动创建public java.lang.String changeSessionid()
public void invalidateSession()
public java.net.HttpCookie[] getCookies()
public java.lang.String getCookie(java.lang.String name)
name - cookie名public java.lang.String getCookie(java.lang.String name,
java.lang.String dfvalue)
name - cookie名dfvalue - 默认cookie值public java.lang.String getConnection()
public java.lang.String getMethod()
public java.lang.String getProtocol()
public java.lang.String getHost()
public java.lang.String getRequstURILastPath()
public java.lang.String[] getRequstURIPaths(java.lang.String prefix)
prefix - 前缀public java.lang.String getRequstURIPath(java.lang.String prefix,
java.lang.String defvalue)
prefix - prefix段前缀defvalue - 默认值public short getRequstURIPath(java.lang.String prefix,
short defvalue)
prefix - prefix段前缀defvalue - 默认short值public int getRequstURIPath(java.lang.String prefix,
int defvalue)
prefix - prefix段前缀defvalue - 默认int值public long getRequstURIPath(java.lang.String prefix,
long defvalue)
prefix - prefix段前缀defvalue - 默认long值public java.lang.String getRequestURI()
public long getContentLength()
public java.lang.String getContentType()
public java.lang.String[] getHeaderNames()
public java.lang.String getHeader(java.lang.String name)
name - header名public <T> T getJsonHeader(java.lang.Class<T> clazz,
java.lang.String name)
T - 泛型clazz - 反序列化的类名name - header名public <T> T getJsonHeader(JsonConvert convert, java.lang.Class<T> clazz, java.lang.String name)
T - 泛型convert - JsonConvert对象clazz - 反序列化的类名name - header名public boolean getBooleanHeader(java.lang.String name,
boolean defaultValue)
name - header名defaultValue - 默认boolean值public short getShortHeader(java.lang.String name,
short defaultValue)
name - header名defaultValue - 默认short值public int getIntHeader(java.lang.String name,
int defaultValue)
name - header名defaultValue - 默认int值public long getLongHeader(java.lang.String name,
long defaultValue)
name - header名defaultValue - 默认long值public float getFloatHeader(java.lang.String name,
float defaultValue)
name - header名defaultValue - 默认float值public double getDoubleHeader(java.lang.String name,
double defaultValue)
name - header名defaultValue - 默认double值public java.lang.String getHeader(java.lang.String name,
java.lang.String defaultValue)
name - header名defaultValue - 默认值public java.lang.String[] getParameterNames()
public java.lang.String getParameter(java.lang.String name)
name - 参数名public <T> T getJsonParameter(java.lang.Class<T> clazz,
java.lang.String name)
T - 泛型clazz - 反序列化的类名name - 参数名public <T> T getJsonParameter(JsonConvert convert, java.lang.Class<T> clazz, java.lang.String name)
T - 泛型convert - JsonConvert对象clazz - 反序列化的类名name - 参数名public boolean getBooleanParameter(java.lang.String name,
boolean defaultValue)
name - 参数名defaultValue - 默认boolean值public short getShortParameter(java.lang.String name,
short defaultValue)
name - 参数名defaultValue - 默认short值public int getIntParameter(java.lang.String name,
int defaultValue)
name - 参数名defaultValue - 默认int值public long getLongParameter(java.lang.String name,
long defaultValue)
name - 参数名defaultValue - 默认long值public float getFloatParameter(java.lang.String name,
float defaultValue)
name - 参数名defaultValue - 默认float值public double getDoubleParameter(java.lang.String name,
double defaultValue)
name - 参数名defaultValue - 默认double值public java.lang.String getParameter(java.lang.String name,
java.lang.String defaultValue)
name - 参数名defaultValue - 默认值