RMVL  2.4.0-dev
Robotic Manipulation and Vision Library
载入中...
搜索中...
未找到
rm::Response结构体 参考

HTTP 响应结构 更多...

#include <rmvl/io/netapp.hpp>

rm::Response 的协作图:

Public 成员函数

std::string generate ()
 生成 HTTP 响应报文
Responseattachment (std::string_view filename)
 设置附件响应头 Content-Disposition,一般需要配合 send()sendFile() 使用
Responsedownload (std::string_view path, std::string_view filename="", std::function< void(bool)> fn=nullptr)
 设置附件响应头 Content-Disposition 并发送文件内容作为响应
Responseget (std::string_view head)
 返回指定的 HTTP 响应头
Responsejson (const ::rm::json &j)
 发送 JSON 格式的响应数据
Responseredirect (std::string_view url)
 发送重定向响应
Responseredirect (uint16_t code, std::string_view url)
 重定向响应
Responsesend (std::string_view str)
 发送响应数据
ResponsesendFile (std::string_view file)
 发送文件内容作为响应
Responseset (std::string_view key, std::string_view value)
 设置响应头
Responsestatus (uint16_t code)
 设置响应的 HTTP 状态,注意此方法会覆盖原有状态
 operator bool () const noexcept

静态 Public 成员函数

static Response parse (std::string_view str)
 解析 HTTP 响应

Public 属性

uint16_t state {}
 响应行:状态码
std::string message {}
 响应行:状态消息
std::unordered_map< std::string, std::string > heads {}
 响应头
std::string body {}
 响应数据

详细描述

HTTP 响应结构

成员函数说明

◆ attachment()

Response & rm::Response::attachment ( std::string_view filename)

设置附件响应头 Content-Disposition,一般需要配合 send()sendFile() 使用

注解
一般用于 Webapp 中,直接使用仅设置响应内容,实际生成响应报文需调用 generate() 方法
参数
[in]filename附件文件名
参见
download()

◆ download()

Response & rm::Response::download ( std::string_view path,
std::string_view filename = "",
std::function< void(bool)> fn = nullptr )

设置附件响应头 Content-Disposition 并发送文件内容作为响应

注解
一般用于 Webapp 中,直接使用仅设置响应内容,实际生成响应报文需调用 generate() 方法
参数
[in]path路径
[in]filename附件文件名
[in]fn发送完成后的回调函数,参数表示是否发送成功
参见
attachment()

◆ generate()

std::string rm::Response::generate ( )

生成 HTTP 响应报文

返回
响应报文

◆ get()

Response & rm::Response::get ( std::string_view head)

返回指定的 HTTP 响应头

注解
一般用于 Webapp 中,直接使用仅设置响应头,实际生成响应报文需调用 generate() 方法
参数
[in]head响应头字段名

◆ json()

Response & rm::Response::json ( const ::rm::json & j)

发送 JSON 格式的响应数据

注解
一般在仅用于设置响应内容,实际生成响应报文需调用 generate() 方法,在 Webapp 中会自动进行调用
参数
[in]jJSON 对象

◆ operator bool()

rm::Response::operator bool ( ) const
inlinenoexcept

◆ parse()

Response rm::Response::parse ( std::string_view str)
static

解析 HTTP 响应

参数
[in]strHTTP 响应报文
返回
解析后的响应对象

◆ redirect() [1/2]

Response & rm::Response::redirect ( std::string_view url)
inline

发送重定向响应

注解
一般用于 Webapp 中,直接使用仅设置响应内容,实际生成响应报文需调用 generate() 方法
参数
[in]url重定向的 URL,支持相对路径
函数调用图:

◆ redirect() [2/2]

Response & rm::Response::redirect ( uint16_t code,
std::string_view url )

重定向响应

注解
一般用于 Webapp 中,直接使用仅设置响应内容,实际生成响应报文需调用 generate() 方法
参数
[in]code状态码
[in]url重定向的 URL,支持相对路径

◆ send()

Response & rm::Response::send ( std::string_view str)

发送响应数据

注解
一般用于 Webapp 中,直接使用仅设置响应内容,实际生成响应报文需调用 generate() 方法
参数
[in]str响应数据

◆ sendFile()

Response & rm::Response::sendFile ( std::string_view file)

发送文件内容作为响应

注解
一般用于 Webapp 中,直接使用仅设置响应内容,实际生成响应报文需调用 generate() 方法
参数
[in]file文件名

◆ set()

Response & rm::Response::set ( std::string_view key,
std::string_view value )

设置响应头

注解
一般用于 Webapp 中,直接使用仅设置响应头,实际生成响应报文需调用 generate() 方法
参数
[in]key响应头字段名
[in]value响应头字段值

◆ status()

Response & rm::Response::status ( uint16_t code)

设置响应的 HTTP 状态,注意此方法会覆盖原有状态

注解
一般用于 Webapp 中,直接使用仅设置响应状态,实际生成响应报文需调用 generate() 方法
参数
[in]code状态码

类成员变量说明

◆ body

std::string rm::Response::body {}

响应数据

◆ heads

std::unordered_map<std::string, std::string> rm::Response::heads {}

响应头

◆ message

std::string rm::Response::message {}

响应行:状态消息

◆ state

uint16_t rm::Response::state {}

响应行:状态码


该结构体的文档由以下文件生成: