RMVL  2.3.0
Robotic Manipulation and Vision Library
载入中...
搜索中...
未找到
rm::async::Webapp类 参考final

Web 应用程序框架 更多...

#include <rmvl/io/netapp.hpp>

rm::async::Webapp 的协作图:

struct  RouteEntry
 路由条目:路由模式 + 处理器 更多...
 
class  RoutePattern
 路由模式匹配器 更多...
 

Public 类型

using RouteHandler = std::function<void(const Request &, Response &)>
 路由处理器类型
 

Public 成员函数

 Webapp (IOContext &io_context)
 创建 Web 应用程序实例
 
void use (ResponseMiddleware mwf)
 使用中间件
 
void listen (uint16_t port, std::function< void()> callback=nullptr)
 监听指定端口
 
void get (std::string_view uri, std::function< void(const Request &, Response &)> callback)
 Get 请求路由
 
void post (std::string_view uri, std::function< void(const Request &, Response &)> callback)
 Post 请求路由
 
void head (std::string_view uri, std::function< void(const Request &, Response &)> callback)
 Head 请求路由
 
void del (std::string_view uri, std::function< void(const Request &, Response &)> callback)
 Delete 请求路由
 
Task spin ()
 启动事件循环
 
bool running () const noexcept
 是否正在运行
 
void stop () noexcept
 停止运行
 

详细描述

Web 应用程序框架

  1. 轻量级的异步 Web 应用程序框架,支持路由、中间件,支持路径参数和查询参数
  2. 所有设计均参考 Express.js,具体的 Express.js 教程请参考 https://expressjs.com/
  3. 目前支持的 HTTP 方法包括 GET、POST、DELETE

成员类型定义说明

◆ RouteHandler

using rm::async::Webapp::RouteHandler = std::function<void(const Request &, Response &)>

路由处理器类型

构造及析构函数说明

◆ Webapp()

rm::async::Webapp::Webapp ( IOContext & io_context)
inline

创建 Web 应用程序实例

参数
[in]io_context异步 I/O 执行上下文

成员函数说明

◆ del()

void rm::async::Webapp::del ( std::string_view uri,
std::function< void(const Request &, Response &)> callback )
inline

Delete 请求路由

参数
[in]uri统一资源标识符,支持路径参数,如 "/api/:name"
[in]callbackDelete 响应回调

◆ get()

void rm::async::Webapp::get ( std::string_view uri,
std::function< void(const Request &, Response &)> callback )
inline

Get 请求路由

参数
[in]uri统一资源标识符,支持路径参数,如 "/api/:name"
[in]callbackGet 响应回调

◆ head()

void rm::async::Webapp::head ( std::string_view uri,
std::function< void(const Request &, Response &)> callback )
inline

Head 请求路由

参数
[in]uri统一资源标识符,支持路径参数,如 "/api/:name"
[in]callbackHead 响应回调

◆ listen()

void rm::async::Webapp::listen ( uint16_t port,
std::function< void()> callback = nullptr )
inline

监听指定端口

参数
[in]port监听的端口号
[in]callback启动后调用的回调函数
函数调用图:

◆ post()

void rm::async::Webapp::post ( std::string_view uri,
std::function< void(const Request &, Response &)> callback )
inline

Post 请求路由

参数
[in]uri统一资源标识符,支持路径参数,如 "/api/:name"
[in]callbackPost 响应回调

◆ running()

bool rm::async::Webapp::running ( ) const
inlinenodiscardnoexcept

是否正在运行

◆ spin()

Task rm::async::Webapp::spin ( )
nodiscard

启动事件循环

返回
rm::async::Task<> 异步任务

◆ stop()

void rm::async::Webapp::stop ( )
inlinenoexcept

停止运行

◆ use()

void rm::async::Webapp::use ( ResponseMiddleware mwf)

使用中间件

参数
[in]mwf中间件函数
函数调用图:

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