#include <HttpServletResponse.hpp>
|
| HttpServletResponse (socket_stream &stream) |
|
| ~HttpServletResponse (void) |
|
HttpServletResponse & | setContentLength (long long int n) |
|
HttpServletResponse & | setChunkedTransferEncoding (bool on) |
|
HttpServletResponse & | setKeepAlive (bool on) |
|
HttpServletResponse & | setContentType (const char *value) |
|
HttpServletResponse & | setContentEncoding (bool gzip) |
|
HttpServletResponse & | setCharacterEncoding (const char *charset) |
|
HttpServletResponse & | setDateHeader (const char *name, time_t value) |
|
HttpServletResponse & | setHeader (const char *name, const char *value) |
|
HttpServletResponse & | setHeader (const char *name, int value) |
|
HttpServletResponse & | setRange (long long from, long long to, long long total) |
|
HttpServletResponse & | setStatus (int status) |
|
HttpServletResponse & | setCgiMode (bool on) |
|
HttpServletResponse & | setRedirect (const char *location, int status=302) |
|
HttpServletResponse & | addCookie (HttpCookie *cookie) |
|
HttpServletResponse & | addCookie (const char *name, const char *value, const char *domain=NULL, const char *path=NULL, time_t expires=0) |
|
void | encodeUrl (string &out, const char *url) |
|
http_header & | getHttpHeader (void) const |
|
bool | write (const void *data, size_t len) |
|
bool | write (const string &buf) |
|
bool | write (const xml &body, const char *charset="utf-8") |
|
bool | write (const json &body, const char *charset="utf-8") |
|
int | format (const char *fmt,...) ACL_CPP_PRINTF(2 |
|
int int | vformat (const char *fmt, va_list ap) |
|
bool | sendHeader (void) |
|
ostream & | getOutputStream (void) const |
|
socket_stream & | getSocketStream (void) const |
|
http_client * | getClient () const |
|
void | setHttpServletRequest (HttpServletRequest *request) |
|
与 HTTP 客户端响应相关的类,该类不应被继承,用户也不需要 定义或创建该类对象
在文件 HttpServletResponse.hpp 第 24 行定义.
◆ HttpServletResponse()
acl::HttpServletResponse::HttpServletResponse |
( |
socket_stream & |
stream | ) |
|
◆ ~HttpServletResponse()
acl::HttpServletResponse::~HttpServletResponse |
( |
void |
| ) |
|
◆ addCookie() [1/2]
添加 cookie 对象,该对象必须是动态分配的,且用户自己不能 再显示释放该对象,因为内部会自动释放
- 参数
-
◆ addCookie() [2/2]
HttpServletResponse& acl::HttpServletResponse::addCookie |
( |
const char * |
name, |
|
|
const char * |
value, |
|
|
const char * |
domain = NULL , |
|
|
const char * |
path = NULL , |
|
|
time_t |
expires = 0 |
|
) |
| |
添加 cookie
- 参数
-
name | {const char*} cookie 名 |
value | {const char*} cookie 值 |
domain | {const char*} cookie 存储域 |
path | {const char*} cookie 存储路径 |
expires | {time_t} cookie 过期时间间隔,当当前时间加 该值为 cookie 的过期时间截(秒) |
◆ encodeUrl()
void acl::HttpServletResponse::encodeUrl |
( |
string & |
out, |
|
|
const char * |
url |
|
) |
| |
将 url 进行 url 编码
- 参数
-
out | {string&} 存储编码后的结果 |
url | {const char*} 未编码前原始的 url |
◆ format()
int acl::HttpServletResponse::format |
( |
const char * |
fmt, |
|
|
|
... |
|
) |
| |
◆ getClient()
http_client* acl::HttpServletResponse::getClient |
( |
| ) |
const |
|
inline |
◆ getHttpHeader()
http_header& acl::HttpServletResponse::getHttpHeader |
( |
void |
| ) |
const |
◆ getOutputStream()
ostream& acl::HttpServletResponse::getOutputStream |
( |
void |
| ) |
const |
获得 HTTP 响应对象的输出流对象,用户在调用 sendHeader 发送 完 HTTP 响应头后,通过该输出流来发送 HTTP 数据体
- 返回
- {ostream&}
◆ getSocketStream()
socket_stream& acl::HttpServletResponse::getSocketStream |
( |
void |
| ) |
const |
◆ sendHeader()
bool acl::HttpServletResponse::sendHeader |
( |
void |
| ) |
|
发送 HTTP 响应头,用户应该发送数据体前调用此函数将 HTTP 响应头发送给客户端
- 返回
- {bool} 发送是否成功,若返回 false 则表示连接中断, 当调用以上几个写的函数时,本函数不必显式被调用,如果是 通过从 getOutputStream 获得的 socket 流写数据时,则本函数 必须显式被调用
◆ setCgiMode()
设置为 CGI 模式,用户一般不需手工设置,因为 HttpServlet 类 会自动设置是否是 CGI 模式
- 参数
-
◆ setCharacterEncoding()
设置 HTTP 响应数据体中字符集,当已经在 setContentType 设置 了字符集,则就不必再调用本函数设置字符集
- 参数
-
charset | {const char*} 响应体数据的字符集 |
- 返回
- {HttpServletResponse&}
◆ setChunkedTransferEncoding()
设置 HTTP chunked 传输模式
- 参数
-
on | {bool} 如果为 true,即使设置了 setContentLength, 则内部也会采用 chunked 传输方式,根据 HTTP RFC 规范要求, chunked 传输的优先级高级 conteng-length 方式 |
- 返回
- {HttpServletResponse&}
◆ setContentEncoding()
◆ setContentLength()
◆ setContentType()
设置 HTTP 响应数据体的 Content-Type 字段值,可字段值可以为: text/html 或 text/html; charset=utf8 格式
- 参数
-
- 返回
- {HttpServletResponse&}
◆ setDateHeader()
HttpServletResponse& acl::HttpServletResponse::setDateHeader |
( |
const char * |
name, |
|
|
time_t |
value |
|
) |
| |
设置 HTTP 响应头中的日期格式的字段
- 参数
-
name | {const char*} HTTP 响应头中的字段名 |
value | {time_t} 时间值 |
◆ setHeader() [1/2]
HttpServletResponse& acl::HttpServletResponse::setHeader |
( |
const char * |
name, |
|
|
const char * |
value |
|
) |
| |
设置 HTTP 响应头中的字符串格式字段
- 参数
-
name | {const char*} HTTP 响应头中的字段名 |
value | {const char*} 字段值 |
◆ setHeader() [2/2]
设置 HTTP 响应头中的整数格式字段
- 参数
-
name | {const char*} HTTP 响应头中的字段名 |
value | {int} 字段值 |
◆ setHttpServletRequest()
设置 http 请求对象,该函数目前只应被 HttpServlet 类内部调用
- 参数
-
request | {HttpServletRequest*} |
◆ setKeepAlive()
◆ setRange()
HttpServletResponse& acl::HttpServletResponse::setRange |
( |
long long |
from, |
|
|
long long |
to, |
|
|
long long |
total |
|
) |
| |
对于分区下载,调用本函数设置数据下载的偏移位置(下标从 0 开始)
- 参数
-
from | {http_off_t} 数据区间起始偏移位置(下标从 0 开始计算) |
to | {http_off_t} 数据区间结束位置(该值需小于总数据长度) |
total | {http_off_t} 总数据长度,当数据源为一个静态文件时该值 应等于该文件的总长度大小 |
- 返回
- {HttpServletResponse&}
◆ setRedirect()
HttpServletResponse& acl::HttpServletResponse::setRedirect |
( |
const char * |
location, |
|
|
int |
status = 302 |
|
) |
| |
设置 HTTP 响应头中的重定向 location 字段
- 参数
-
location | {const char*} URL,非空 |
status | {int} HTTP 响应状态码,一般为 3xx 类 |
◆ setStatus()
设置 HTTP 响应头中的状态码:1xx, 2xx, 3xx, 4xx, 5xx
- 参数
-
status | {int} HTTP 响应状态码, 如:200 |
◆ vformat()
int int acl::HttpServletResponse::vformat |
( |
const char * |
fmt, |
|
|
va_list |
ap |
|
) |
| |
◆ write() [1/4]
bool acl::HttpServletResponse::write |
( |
const void * |
data, |
|
|
size_t |
len |
|
) |
| |
向客户端发送 HTTP 数据体响应数据,可以循环调用此函数, 当通过 setChunkedTransferEncoding 设置了 chunked 传输方式后, 内部自动采用 chunked 传输方式;调用此函数不必显式调用 sendHeader 函数来发送 HTTP 响应头,因为内部会自动在第一次 写时发送 HTTP 响应头;另外,在使用 chunked 方式传输数据时, 应该应该最后再调用一次本函数,且参数均设为 0 表示数据结束
- 参数
-
data | {const void*} 数据地址 |
len | {size_t} data 数据长度 |
- 返回
- {bool} 发送是否成功,如果返回 false 表示连接中断
◆ write() [2/4]
bool acl::HttpServletResponse::write |
( |
const string & |
buf | ) |
|
◆ write() [3/4]
bool acl::HttpServletResponse::write |
( |
const xml & |
body, |
|
|
const char * |
charset = "utf-8" |
|
) |
| |
向客户端发送 HTTP Xml 响应数据体
- 参数
-
body | {const xml&} 数据缓冲区 |
charset | {const char*} 数据体字符集 |
- 返回
- {bool} 发送是否成功,如果返回 false 表示连接中断
◆ write() [4/4]
bool acl::HttpServletResponse::write |
( |
const json & |
body, |
|
|
const char * |
charset = "utf-8" |
|
) |
| |
向客户端发送 HTTP Json 响应数据体
- 参数
-
body | {const json&} 数据缓冲区 |
charset | {const char*} 数据体字符集 |
- 返回
- {bool} 发送是否成功,如果返回 false 表示连接中断
该类的文档由以下文件生成: