#include <HttpServlet.hpp>
|
virtual bool | doGet (HttpServletRequest &, HttpServletResponse &) |
|
virtual bool | doWebSocket (HttpServletRequest &, HttpServletResponse &) |
|
virtual bool | doPost (HttpServletRequest &, HttpServletResponse &) |
|
virtual bool | doPut (HttpServletRequest &, HttpServletResponse &) |
|
virtual bool | doPatch (HttpServletRequest &, HttpServletResponse &) |
|
virtual bool | doConnect (HttpServletRequest &, HttpServletResponse &) |
|
virtual bool | doPurge (HttpServletRequest &, HttpServletResponse &) |
|
virtual bool | doDelete (HttpServletRequest &, HttpServletResponse &) |
|
virtual bool | doHead (HttpServletRequest &, HttpServletResponse &) |
|
virtual bool | doOptions (HttpServletRequest &, HttpServletResponse &) |
|
virtual bool | doPropfind (HttpServletRequest &, HttpServletResponse &) |
|
virtual bool | doOther (HttpServletRequest &, HttpServletResponse &, const char *method) |
|
virtual bool | doUnknown (HttpServletRequest &, HttpServletResponse &) |
|
virtual bool | doError (HttpServletRequest &, HttpServletResponse &) |
|
| noncopyable () |
|
| ~noncopyable () |
|
处理 HTTP 客户端请求的基类,子类需要继承该类
在文件 HttpServlet.hpp 第 18 行定义.
◆ HttpServlet() [1/3]
构造函数
- 参数
-
stream | {socket_stream*} 当在 acl_master 服务器框架控制下 运行时,该参数必须非空;当在 apache 下以 CGI 方式运行时,该参数 设为 NULL;另外,该函数内部不会关闭流连接,应用应自行处理流对象 的关闭情况,这样可以方便与 acl_master 架构结合 |
session | {session*} 每一个 HttpServlet 对象一个 session 对象 |
◆ HttpServlet() [2/3]
acl::HttpServlet::HttpServlet |
( |
socket_stream * |
stream, |
|
|
const char * |
memcache_addr = "127.0.0.1|11211" |
|
) |
| |
构造函数
- 参数
-
stream | {socket_stream*} 当在 acl_master 服务器框架控制下 运行时,该参数必须非空;当在 apache 下以 CGI 方式运行时,该参数 设为 NULL;另外,该函数内部不会关闭流连接,应用应自行处理流对象 的关闭情况,这样可以方便与 acl_master 架构结合 |
memcache_addr | {const char*} |
◆ HttpServlet() [3/3]
acl::HttpServlet::HttpServlet |
( |
void |
| ) |
|
◆ ~HttpServlet()
virtual acl::HttpServlet::~HttpServlet |
( |
void |
| ) |
|
|
pure virtual |
◆ doConnect()
◆ doDelete()
◆ doError()
◆ doGet()
◆ doHead()
◆ doOptions()
◆ doOther()
当 HTTP 请求方法未知时调用的虚函数
- 参数
-
method | {const char*} 其它未知的请求方法 |
◆ doPatch()
◆ doPost()
◆ doPropfind()
当 HTTP 请求为 PROPFIND 方式时调用的虚函数
◆ doPurge()
◆ doPut()
◆ doRun() [1/3]
virtual bool acl::HttpServlet::doRun |
( |
void |
| ) |
|
|
virtual |
◆ doRun() [2/3]
HttpServlet 对象开始运行,接收 HTTP 请求,并回调以下 doXXX 虚函数
- 参数
-
session | {session&} 存储 session 数据的对象 |
stream | {socket_stream*} 当在 acl_master 服务器框架控制下 运行时,该参数必须非空;当在 apache 下以 CGI 方式运行时,该参数 设为 NULL;另外,该函数内部不会关闭流连接,应用应自行处理流对象 的关闭情况,这样可以方便与 acl_master 架构结合 |
- 返回
- {bool} 返回处理结果
被 acl::WebSocketServlet 重载.
◆ doRun() [3/3]
virtual bool acl::HttpServlet::doRun |
( |
const char * |
memcached_addr, |
|
|
socket_stream * |
stream |
|
) |
| |
|
virtual |
HttpServlet 对象开始运行,接收 HTTP 请求,并回调以下 doXXX 虚函数, 调用本函数意味着采用 memcached 来存储 session 数据
- 参数
-
memcached_addr | {const char*} memcached 服务器地址,格式:IP:PORT |
stream | {socket_stream*} 含义同上 |
- 返回
- {bool} 返回处理结果
被 acl::WebSocketServlet 重载.
◆ doUnknown()
◆ doWebSocket()
当 HTTP 请求为 websocket 方式时调用的虚函数
◆ getSession()
session& acl::HttpServlet::getSession |
( |
void |
| ) |
const |
|
inline |
◆ getStream()
◆ setLocalCharset()
HttpServlet& acl::HttpServlet::setLocalCharset |
( |
const char * |
charset | ) |
|
◆ setParseBody()
针对 POST 方法,该方法设置是否需要解析数据体数据,默认为解析,该函 数必须在 doRun 之前调用才有效;当数据体为数据流或 MIME 格式,即使 调用本方法设置了解析数据,也不会对数据体进行解析
- 参数
-
- 返回
- {HttpServlet&} xxxx: 该方法已经被废弃!
◆ setParseBodyLimit()
HttpServlet& acl::HttpServlet::setParseBodyLimit |
( |
int |
length | ) |
|
针对 POST 方法,该方法设置解析数据体的最大长度,如果数据体,该函数 必须在 doRun 之前调用才有效
- 参数
-
length | {int} 最大长度限制,如果请求的数据体长度过大,则直接 返回 false,如果该值 <= 0 则内部不限制数据体长度,调用该函数前 内部缺省值为 0 |
- 返回
- {HttpServlet&}
◆ setRwTimeout()
HttpServlet& acl::HttpServlet::setRwTimeout |
( |
int |
rw_timeout | ) |
|
设置 HTTP 会话过程 IO 读写超时时间;该函数必须在 doRun 前调用才有效
- 参数
-
rw_timeout | {int} 读写超时时间(秒) |
- 返回
- {HttpServlet&}
◆ start()
bool acl::HttpServlet::start |
( |
void |
| ) |
|
HttpServlet 对象开始运行,接收 HTTP 请求,并回调以下 doXXX 虚函数,
- 返回
- {bool} 返回处理结果,返回 false 表示处理失败,则应关闭连接, 返回 true 表示处理成功,调用此函数后应该继续通过判断请求/响应对象中 是否需要保持长连接来确实最终是否保持长连接
◆ req_
◆ res_
该类的文档由以下文件生成: