fastdo  0.6.16
http::UrlRouter类 参考

URL路由器 更多...

#include <http_UrlRouter.hpp>

类 http::UrlRouter 继承关系图:
http::UrlRouter 的协作图:

Public 类型

using CrossRouteHandlerFunction = CrossRouteHandlerFunctionT< http::Request, http::Response >
 
using RouteHandlerFunction = RouteHandlerFunctionT< http::Request, http::Response >
 
using WebMainHandlerFunction = std::function< void(winux::SharedPointer< http::Request > requestPtr, http::Response &rsp) >
 WebMain逻辑处理函数类型 更多...
 
using ExtensionHandlingHandlerFunction = std::function< bool(winux::String const &extName, winux::String const &fullPath, winux::SharedPointer< http::Request > requestPtr, http::Response &rsp) >
 特别扩展名处理函数类型 更多...
 

Public 成员函数

 UrlRouter (http::HttpServerConfig *httpConfig=nullptr)
 构造函数 更多...
 
virtual ~UrlRouter ()
 析构函数 更多...
 
bool init (http::HttpServerConfig *httpConfig)
 初始化 更多...
 
void crossRoute (winux::String const &method, winux::String const &path, CrossRouteHandlerFunction handler)
 注册过径路由处理器 更多...
 
void route (winux::String const &method, winux::String const &path, RouteHandlerFunction handler)
 注册普通路由处理器 更多...
 
void onWebMainHandler (WebMainHandlerFunction handler)
 
void onExtensionHandlingHandler (ExtensionHandlingHandlerFunction handler)
 

Protected 成员函数

virtual void routing (winux::SharedPointer< http::Request > requestPtr, http::UrlPathPartData const &urlData, http::Response &rsp)
 路由处理 更多...
 
virtual void onWebMain (winux::SharedPointer< http::Request > requestPtr, http::Response &rsp)
 
virtual bool onExtensionHandling (winux::String const &extName, winux::String const &fullPath, winux::SharedPointer< http::Request > requestPtr, http::Response &rsp)
 

Protected 属性

http::StaticFileMemoryCache _staticFileCache
 静态文件缓存 更多...
 
std::vector< std::unordered_map< winux::String, std::unordered_map< winux::String, CrossRouteHandlerFunction > > > _crossRouter
 过径路由器 更多...
 
std::unordered_map< winux::String, std::unordered_map< winux::String, RouteHandlerFunction > > _router
 普通路由器 更多...
 
WebMainHandlerFunction _WebMainHandler
 
ExtensionHandlingHandlerFunction _ExtensionHandlingHandler
 

详细描述

URL路由器

在文件 http_UrlRouter.hpp25 行定义.

成员类型定义说明

using http::UrlRouter::WebMainHandlerFunction = std::function< void ( winux::SharedPointer<http::Request> requestPtr, http::Response & rsp ) >

WebMain逻辑处理函数类型

参数
requestPtr请求场景对象
rsp响应对象

在文件 http_UrlRouter.hpp83 行定义.

using http::UrlRouter::ExtensionHandlingHandlerFunction = std::function< bool ( winux::String const & extName, winux::String const & fullPath, winux::SharedPointer<http::Request> requestPtr, http::Response & rsp ) >

特别扩展名处理函数类型

参数
extName文件扩展名
fullPath文件全路径
requestPtr请求场景对象
rsp响应对象
返回
bool
返回值
true成功处理
false没有处理

在文件 http_UrlRouter.hpp99 行定义.

构造及析构函数说明

http::UrlRouter::UrlRouter ( http::HttpServerConfig httpConfig = nullptr)

构造函数

virtual http::UrlRouter::~UrlRouter ( )
virtual

析构函数

成员函数说明

bool http::UrlRouter::init ( http::HttpServerConfig httpConfig)

初始化

void http::UrlRouter::crossRoute ( winux::String const &  method,
winux::String const &  path,
CrossRouteHandlerFunction  handler 
)

注册过径路由处理器

参数
methodmethod为半角逗号','分隔的HTTP方法名字符串,可以是"*"表示通配所有HTTP方法
pathpath需以'/'开头
handler处理器函数
void http::UrlRouter::route ( winux::String const &  method,
winux::String const &  path,
RouteHandlerFunction  handler 
)

注册普通路由处理器

参数
methodmethod为半角逗号','分隔的HTTP方法名字符串,可以是"*"表示通配所有HTTP方法
pathpath需以'/'开头
handler处理器函数
virtual void http::UrlRouter::routing ( winux::SharedPointer< http::Request requestPtr,
http::UrlPathPartData const &  urlData,
http::Response rsp 
)
protectedvirtual

路由处理

void http::UrlRouter::onWebMainHandler ( WebMainHandlerFunction  handler)
inline

在文件 http_UrlRouter.hpp83 行定义.

virtual void http::UrlRouter::onWebMain ( winux::SharedPointer< http::Request requestPtr,
http::Response rsp 
)
protectedvirtual
void http::UrlRouter::onExtensionHandlingHandler ( ExtensionHandlingHandlerFunction  handler)
inline

在文件 http_UrlRouter.hpp99 行定义.

virtual bool http::UrlRouter::onExtensionHandling ( winux::String const &  extName,
winux::String const &  fullPath,
winux::SharedPointer< http::Request requestPtr,
http::Response rsp 
)
protectedvirtual

eienwebx::HttpApp 重载.

类成员变量说明

http::StaticFileMemoryCache http::UrlRouter::_staticFileCache
protected

静态文件缓存

在文件 http_UrlRouter.hpp59 行定义.

std::vector< std::unordered_map< winux::String, std::unordered_map< winux::String, CrossRouteHandlerFunction > > > http::UrlRouter::_crossRouter
protected

过径路由器

[ { pathpart: { GET: handleGet, POST: handlePost, ... }, ... }, ... ]

在文件 http_UrlRouter.hpp66 行定义.

std::unordered_map< winux::String, std::unordered_map< winux::String, RouteHandlerFunction > > http::UrlRouter::_router
protected

普通路由器

{ path: { GET: handleGet, POST: handlePost, ... }, ... }

在文件 http_UrlRouter.hpp72 行定义.

WebMainHandlerFunction http::UrlRouter::_WebMainHandler
protected

在文件 http_UrlRouter.hpp83 行定义.

ExtensionHandlingHandlerFunction http::UrlRouter::_ExtensionHandlingHandler
protected

在文件 http_UrlRouter.hpp99 行定义.


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