public class HttpResponse extends Response<HttpContext,HttpRequest>
详情见: http://www.redkale.org
| 限定符和类型 | 类和说明 |
|---|---|
protected static interface |
HttpResponse.BufferHandler
HttpResponse.finish 方法内调用
主要给@HttpCacheable使用
|
protected class |
HttpResponse.TransferFileHandler |
| 限定符和类型 | 字段和说明 |
|---|---|
protected static byte[] |
LINE |
channel, context, recycleListener, request| 构造器和说明 |
|---|
HttpResponse(HttpContext context,
HttpRequest request,
java.lang.String[][] defaultAddHeaders,
java.lang.String[][] defaultSetHeaders,
java.net.HttpCookie defcookie) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
addCookie(java.net.HttpCookie... cookies)
增加Cookie值
|
void |
addHeader(java.lang.String name,
java.lang.Object value)
添加Header值
|
static ObjectPool<Response> |
createPool(java.util.concurrent.atomic.AtomicLong creatCounter,
java.util.concurrent.atomic.AtomicLong cycleCounter,
int max,
Creator<Response> creator) |
protected AnyValue.DefaultAnyValue |
duplicateHeader() |
void |
finish(boolean kill,
java.nio.ByteBuffer... buffers)
将指定ByteBuffer数组按响应结果输出
|
void |
finish(boolean kill,
java.nio.ByteBuffer buffer)
将指定ByteBuffer按响应结果输出
|
void |
finish(java.nio.ByteBuffer... buffers)
将指定ByteBuffer数组按响应结果输出
|
void |
finish(java.nio.ByteBuffer buffer)
将指定ByteBuffer按响应结果输出
|
void |
finish(java.io.File file)
将指定文件按响应结果输出
|
void |
finish(int status,
java.lang.String message)
以指定响应码附带内容输出
|
void |
finish(java.lang.String obj)
将指定字符串以响应结果输出
|
void |
finish304()
以304状态码输出
|
void |
finish404()
以404状态码输出
|
protected void |
finishFile(java.io.File file,
java.nio.ByteBuffer fileBody)
将指定文件句柄或文件内容按响应结果输出,若fileBody不为null则只输出fileBody内容
|
void |
finishJson(JsonConvert convert,
java.lang.Object obj)
将对象以JSON格式输出
|
void |
finishJson(JsonConvert convert,
java.lang.reflect.Type type,
java.lang.Object obj)
将对象以JSON格式输出
|
void |
finishJson(java.lang.Object... objs)
将对象以JSON格式输出
|
void |
finishJson(java.lang.Object obj)
将对象以JSON格式输出
|
void |
finishJson(java.lang.reflect.Type type,
java.lang.Object obj)
将对象以JSON格式输出
|
protected HttpResponse.BufferHandler |
getBufferHandler()
获取输出时的拦截器
|
long |
getContentLength()
获取内容长度
|
java.lang.String |
getContentType()
获取 ContentType
|
protected java.lang.String |
getHttpCode(int status)
获取状态码对应的状态描述
|
protected java.lang.String |
getHttpCode(int status,
java.lang.String defValue) |
protected HttpRequest |
getRequest() |
int |
getStatus()
获取状态码
|
protected void |
init(AsyncConnection channel) |
protected boolean |
recycle() |
protected AsyncConnection |
removeChannel() |
<A> void |
sendBody(java.nio.ByteBuffer buffer,
A attachment,
java.nio.channels.CompletionHandler<java.lang.Integer,A> handler)
异步输出指定内容
|
protected void |
setBufferHandler(HttpResponse.BufferHandler bufferHandler)
设置输出时的拦截器
|
void |
setContentLength(long contentLength)
设置内容长度
|
void |
setContentType(java.lang.String contentType)
设置 ContentType
|
void |
setHeader(java.lang.String name,
java.lang.Object value)
设置Header值
|
void |
setStatus(int status)
设置状态码
|
void |
skipHeader()
跳过header的输出
通常应用场景是,调用者的输出内容里已经包含了HTTP的响应头信息,因此需要调用此方法避免重复输出HTTP响应头信息。
|
finish, finish, getContext, prepare, refuseAlive, send, send, setRecycleListenerpublic HttpResponse(HttpContext context, HttpRequest request, java.lang.String[][] defaultAddHeaders, java.lang.String[][] defaultSetHeaders, java.net.HttpCookie defcookie)
public static ObjectPool<Response> createPool(java.util.concurrent.atomic.AtomicLong creatCounter, java.util.concurrent.atomic.AtomicLong cycleCounter, int max, Creator<Response> creator)
protected AsyncConnection removeChannel()
removeChannel 在类中 Response<HttpContext,HttpRequest>protected boolean recycle()
recycle 在类中 Response<HttpContext,HttpRequest>protected void init(AsyncConnection channel)
init 在类中 Response<HttpContext,HttpRequest>protected java.lang.String getHttpCode(int status)
status - 状态码protected HttpRequest getRequest()
protected java.lang.String getHttpCode(int status,
java.lang.String defValue)
public void addCookie(java.net.HttpCookie... cookies)
cookies - cookiepublic void finishJson(java.lang.Object obj)
obj - 输出对象public void finishJson(JsonConvert convert, java.lang.Object obj)
convert - 指定的JsonConvertobj - 输出对象public void finishJson(java.lang.reflect.Type type,
java.lang.Object obj)
type - 指定的类型obj - 输出对象public void finishJson(JsonConvert convert, java.lang.reflect.Type type, java.lang.Object obj)
convert - 指定的JsonConverttype - 指定的类型obj - 输出对象public void finishJson(java.lang.Object... objs)
objs - 输出对象public void finish(java.lang.String obj)
obj - 输出内容public void finish(int status,
java.lang.String message)
status - 响应码message - 输出内容public void finish304()
public void finish404()
public void finish(java.nio.ByteBuffer buffer)
finish 在类中 Response<HttpContext,HttpRequest>buffer - 输出内容public void finish(boolean kill,
java.nio.ByteBuffer buffer)
finish 在类中 Response<HttpContext,HttpRequest>kill - 输出后是否强制关闭连接buffer - 输出内容public void finish(java.nio.ByteBuffer... buffers)
finish 在类中 Response<HttpContext,HttpRequest>buffers - 输出内容public void finish(boolean kill,
java.nio.ByteBuffer... buffers)
finish 在类中 Response<HttpContext,HttpRequest>kill - 输出后是否强制关闭连接buffers - 输出内容public <A> void sendBody(java.nio.ByteBuffer buffer,
A attachment,
java.nio.channels.CompletionHandler<java.lang.Integer,A> handler)
A - 泛型buffer - 输出内容attachment - 异步回调参数handler - 异步回调函数public void finish(java.io.File file)
throws java.io.IOException
file - 输出文件java.io.IOException - IO异常protected void finishFile(java.io.File file,
java.nio.ByteBuffer fileBody)
throws java.io.IOException
file - 输出文件fileBody - 文件内容, 没有则输出filejava.io.IOException - IO异常public void skipHeader()
protected AnyValue.DefaultAnyValue duplicateHeader()
public void setHeader(java.lang.String name,
java.lang.Object value)
name - header名value - header值public void addHeader(java.lang.String name,
java.lang.Object value)
name - header名value - header值public void setStatus(int status)
status - 状态码public int getStatus()
public java.lang.String getContentType()
public void setContentType(java.lang.String contentType)
contentType - ContentTypepublic long getContentLength()
public void setContentLength(long contentLength)
contentLength - 内容长度protected HttpResponse.BufferHandler getBufferHandler()
protected void setBufferHandler(HttpResponse.BufferHandler bufferHandler)
bufferHandler - 拦截器