删除token,增加获取文件列表与保存上传文件
This commit is contained in:
@@ -9,10 +9,6 @@ module::request::~request()
|
||||
if (m_session != nullptr)
|
||||
delete m_session;
|
||||
}
|
||||
std::string module::request::token()
|
||||
{
|
||||
return m_request->token();
|
||||
}
|
||||
module::session* module::request::session(const std::string& token)
|
||||
{
|
||||
if (m_session == nullptr)
|
||||
@@ -45,6 +41,32 @@ void* module::request::website()
|
||||
{
|
||||
return m_request->website();
|
||||
}
|
||||
sol::table module::request::files(sol::this_state s)
|
||||
{
|
||||
auto names = m_request->parser()->form()->names();
|
||||
sol::state_view lua(s);
|
||||
sol::table result_table = lua.create_table();
|
||||
|
||||
int count = 1;
|
||||
for (size_t i = 0; i < names.size(); i++)
|
||||
{
|
||||
sol::table file = lua.create_table();
|
||||
network::http::form_info fi;
|
||||
if (m_request->parser()->form()->get(names[i], fi))
|
||||
{
|
||||
file["type"] = fi.content_type;
|
||||
file["size"] = fi.data.size();
|
||||
file["filename"] = fi.filename;
|
||||
result_table[count] = file;
|
||||
count++;
|
||||
}
|
||||
}
|
||||
return result_table;
|
||||
}
|
||||
bool module::request::write_file(const std::string& name, const std::string& filepath)
|
||||
{
|
||||
return m_request->parser()->form()->write_file(name,filepath);
|
||||
}
|
||||
void module::request::regist(sol::state* lua)
|
||||
{
|
||||
// 绑定 Request 类到 Lua
|
||||
@@ -57,10 +79,11 @@ void module::request::regist(sol::state* lua)
|
||||
"remote_port", &module::request::remote_port,
|
||||
"param", &module::request::param,
|
||||
"session", &module::request::session,
|
||||
"token", &module::request::token,
|
||||
"body_param", &module::request::body_param,
|
||||
"url_param", &module::request::url_param,
|
||||
"body", &module::request::body
|
||||
"body", &module::request::body,
|
||||
"files", &module::request::files,
|
||||
"write_file", &module::request::write_file
|
||||
);
|
||||
(*lua)["GET"] = (int)network::http::GET;
|
||||
(*lua)["POST"] = (int)network::http::POST;
|
||||
|
||||
@@ -52,11 +52,6 @@ namespace module
|
||||
/// <returns></returns>
|
||||
ushort remote_port();
|
||||
/// <summary>
|
||||
/// 取token
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
std::string token();
|
||||
/// <summary>
|
||||
/// 取session
|
||||
/// </summary>
|
||||
/// <param name="token"></param>
|
||||
@@ -85,6 +80,19 @@ namespace module
|
||||
/// <returns></returns>
|
||||
void* website();
|
||||
|
||||
/// <summary>
|
||||
/// 取文件列表
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
sol::table files(sol::this_state s);
|
||||
/// <summary>
|
||||
/// 保存文件
|
||||
/// </summary>
|
||||
/// <param name="name"></param>
|
||||
/// <param name="filepath"></param>
|
||||
/// <returns></returns>
|
||||
bool write_file(const std::string& name,const std::string& filepath);
|
||||
|
||||
static void regist(sol::state* lua);
|
||||
private:
|
||||
bool request_param(const std::string& name, std::string& value);
|
||||
|
||||
Reference in New Issue
Block a user