fastdo  0.6.16
http 命名空间参考

HTTP协议的相关简单类封装 更多...

命名空间

 old_v1
 HTTP服务相关旧的实现
 

class  Cookie
 封装了Cookie的http协议细节 更多...
 
class  Cookies
 提供操作Cookies相关的功能 更多...
 
class  Header
 代表HTTP头部 更多...
 
class  HttpCUrl
 CURL的HTTP协议封装,默认30秒超时 更多...
 
class  HttpRequestCtx
 HTTP客户请求场景 更多...
 
class  HttpRspOutputMgr
 HTTP响应输出管理器 更多...
 
class  HttpServer
 HTTP服务器 更多...
 
struct  HttpServerConfig
 HttpServer配置参数 更多...
 
class  Request
 HTTP请求 更多...
 
class  Response
 HTTP响应 更多...
 
class  RspOutputMgr
 响应输出管理器 更多...
 
class  StaticFileMemoryCache
 静态文件内存缓存(带互斥锁) 更多...
 
class  Url
 URL类 更多...
 
class  UrlParser
 URL解析器 更多...
 
struct  UrlPathPartData
 处理URL路径部分时的一些中间变量 更多...
 
class  UrlRouter
 URL路由器 更多...
 
class  Vars
 变量类。可转为application/x-www-form-urlencoded类型字符串。可用于解析和设置get/post变量 更多...
 

类型定义

template<class _ReqClass , class _RspClass >
using CrossRouteHandlerFunctionT = std::function< bool(winux::SharedPointer< _ReqClass > requestPtr, _RspClass &rsp, winux::StringArray const &urlPathPartArr, size_t i) >
 过径路由处理函数类型 更多...
 
template<class _ReqClass , class _RspClass >
using RouteHandlerFunctionT = std::function< void(winux::SharedPointer< _ReqClass > requestPtr, _RspClass &rsp) >
 普通路由处理函数类型 更多...
 

枚举

enum  UrlFlags {
  urlSimple = 0, urlQueryVars = 1, urlPathComp = 2, urlPathMatrixParams = 4 | urlPathComp,
  urlCanRelative = 8, urlDefault = urlQueryVars | urlCanRelative, urlAll = urlPathComp | urlPathMatrixParams | urlQueryVars | urlCanRelative
}
 URL旗标 更多...
 
enum  VarEncodeMode { vemNone = 0, vemName = 1, vemValue = 2, vemAll = 3 }
 变量编码模式 更多...
 

函数

std::ostream & operator<< (std::ostream &o, Cookie const &cookie)
 
void ProcessMultipartFormData (char const *buf, size_t size, winux::String const &boundary, http::Vars *post, winux::StringArray *arrTmpFiles)
 处理Content-Type: multipart/form-data的请求体数据到一个Vars类对象(通常是post对象) 更多...
 

详细描述

HTTP协议的相关简单类封装

类型定义说明

template<class _ReqClass , class _RspClass >
using http::CrossRouteHandlerFunctionT = typedef std::function< bool ( winux::SharedPointer<_ReqClass> requestPtr, _RspClass & rsp, winux::StringArray const & urlPathPartArr, size_t i ) >

过径路由处理函数类型

参数
requestPtr请求对象
rsp响应对象
urlPathPartArrURL路径部分数组
i当前URL路径部分的索引
返回
bool
返回值
false终止过径路由响应处理的继续
true继续检测其他过径路由响应处理

在文件 http_UrlRouter.hpp15 行定义.

template<class _ReqClass , class _RspClass >
using http::RouteHandlerFunctionT = typedef std::function< void ( winux::SharedPointer<_ReqClass> requestPtr, _RspClass & rsp ) >

普通路由处理函数类型

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

在文件 http_UrlRouter.hpp22 行定义.

枚举类型说明

URL旗标

枚举值
urlSimple 

简单的分段

urlQueryVars 

解析查询部分的变量

urlPathComp 

将路径部分解析成PathComp数组

urlPathMatrixParams 

解析路径部分的MatrixURIs参数。当指定此flag时 urlPathComp 强制启用

urlCanRelative 

可以是相对URL。 eg. 'www.abc.com/aa/bb/cc'这种URL的'www.abc.com'不会解析成host部分,而是path部分

urlDefault 

默认 urlQueryVars | urlCanRelative

urlAll 

全部 urlPathComp | urlPathMatrixParams | urlQueryVars | urlCanRelative

在文件 http_Url.hpp7 行定义.

变量编码模式

枚举值
vemNone 

不编码

vemName 

名称部分编码

vemValue 

值部分编码

vemAll 

名称和值部分一起编码

在文件 http_Vars.hpp7 行定义.

函数说明

std::ostream& http::operator<< ( std::ostream &  o,
Cookie const &  cookie 
)
inline

在文件 http_Cookie.hpp52 行定义.

void http::ProcessMultipartFormData ( char const *  buf,
size_t  size,
winux::String const &  boundary,
http::Vars post,
winux::StringArray arrTmpFiles 
)

处理Content-Type: multipart/form-data的请求体数据到一个Vars类对象(通常是post对象)