acl  3.5.3.0
acl::http_mime类 参考

#include <http_mime.hpp>

+ 类 acl::http_mime 继承关系图:
+ acl::http_mime 的协作图:

Public 成员函数

 http_mime (const char *boundary, const char *local_charset="gb2312")
 
 ~http_mime (void)
 
void set_saved_path (const char *path)
 
bool update (const char *data, size_t len)
 
const std::list< http_mime_node * > & get_nodes (void) const
 
const http_mime_nodeget_node (const char *name) const
 
- Public 成员函数 继承自 acl::dbuf_obj
 dbuf_obj (dbuf_guard *guard=NULL)
 
virtual ~dbuf_obj ()
 
int pos () const
 
dbuf_guardget_guard () const
 

详细描述

http mime 解析器,该解析器为流式解析器,用户在使用时可以每次仅输入 部分数据给 update 函数,当该函数返回 true 时表示解析完成且解析正确

在文件 http_mime.hpp72 行定义.

构造及析构函数说明

◆ http_mime()

acl::http_mime::http_mime ( const char *  boundary,
const char *  local_charset = "gb2312" 
)

构建函数

参数
boundary{const char*} 分隔符,不能为空
local_charset{const char*} 本地字符集,非空时会自动将 参数内容转为本地字符集

◆ ~http_mime()

acl::http_mime::~http_mime ( void  )

成员函数说明

◆ get_node()

const http_mime_node* acl::http_mime::get_node ( const char *  name) const

根据变量名取得 HTTP MIME 结点

参数
name{const char*} 变量名
返回
{const http_mime_node*} 返回空则说明对应变量名的结点 不存在

◆ get_nodes()

const std::list<http_mime_node*>& acl::http_mime::get_nodes ( void  ) const

获得所有的 MIME 结点

返回
{const std::list<http_mimde_node*>&}

◆ set_saved_path()

void acl::http_mime::set_saved_path ( const char *  path)

设置 MIME 数据的存储路径,当分析完 MIME 数据后,如果想要 从中提取数据,则必须给出该 MIME 的原始数据的存储位置,否则 无法获得相应数据,即 save_xxx/get_nodes/get_node 函数均无法 正常使用

参数
path{const char*} 文件路径名, 如果该参数为空, 则不能 获得数据体数据, 也不能调用 save_xxx 相关的接口

◆ update()

bool acl::http_mime::update ( const char *  data,
size_t  len 
)

调用此函数进行流式方式解析数据体内容

参数
data{const char*} 数据体(可能是数据头也可能是数据体, 并且不必是完整的数据行)
len{size_t} data 数据长度
返回
{bool} 针对 multipart 数据, 返回 true 表示解析完毕; 对于非 multipart 文件, 该返回值永远为 false, 没有任何意义, 需要调用者自己判断数据体的结束位置 注意: 调用完此函数后一定需要调用 update_end 函数通知解析器 解析完毕

该类的文档由以下文件生成: