| RMVL 2.4.0 Robotic Manipulation and Vision Library

载入中...
搜索中...
未找到
Public 成员函数 | 静态 Public 成员函数 | Public 属性 | 所有成员列表
rm::Response结构体 参考
数据 IO 与通信模块 » 网络通信

HTTP 响应结构 更多...

`#include <rmvl/io/netapp.hpp>`

rm::Response 的协作图:

## Public 成员函数
std::string | generate ()
| 生成 HTTP 响应报文
Response & | attachment (std::string_view filename)
| 设置附件响应头 Content-Disposition，一般需要配合 send() 或 sendFile() 使用
Response & | download (std::string_view path, std::string_view filename="", std::function< void(bool)> fn=nullptr)
| 设置附件响应头 Content-Disposition 并发送文件内容作为响应
Response & | get (std::string_view head)
| 返回指定的 HTTP 响应头
Response & | json (const ::rm::json &j)
| 发送 JSON 格式的响应数据
Response & | redirect (std::string_view url)
| 发送重定向响应
Response & | redirect (uint16_t code, std::string_view url)
| 重定向响应
Response & | send (std::string_view str)
| 发送响应数据
Response & | sendFile (std::string_view file)
| 发送文件内容作为响应
Response & | set (std::string_view key, std::string_view value)
| 设置响应头
Response & | status (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] | j | JSON 对象

## ◆ operator bool()

rm::Response::operator bool | ( |  | ) | const
| inline noexcept

## ◆ parse()

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

解析 HTTP 响应

参数

  [in] | str | HTTP 响应报文

返回
  解析后的响应对象

## ◆ 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 {}

响应行：状态码