NexusForce 1.0.0
A rigorously engineered full-stack C++ backend library.
载入中...
搜索中...
未找到
async_filter.hpp
浏览该文件的文档.
1#ifndef NEFORCE_NETWORK_HTTP_ASYNC_FILTER_HPP__
2#define NEFORCE_NETWORK_HTTP_ASYNC_FILTER_HPP__
3
8
10NEFORCE_BEGIN_NAMESPACE__
11NEFORCE_BEGIN_HTTP__
12
17
31class async_filter : public http_filter {
32public:
37 using next_callback = function<void(bool should_continue)>;
38
48 virtual void pre_filter_async(http_request& request, http_response& response, http_context& ctx,
50 if (pre_filter(request, response)) {
51 next(true);
52 } else {
53 next(false);
54 }
55 }
56
66 virtual void post_filter_async(http_request& request, http_response& response, http_context& ctx,
68 post_filter(request, response);
69 next(true);
70 }
71};
72 // HTTP
74
75NEFORCE_END_HTTP__
76NEFORCE_END_NAMESPACE__
77#endif // NEFORCE_NETWORK_HTTP_ASYNC_FILTER_HPP__
函数包装器主模板声明
异步过滤器基类(回调模式)
virtual void pre_filter_async(http_request &request, http_response &response, http_context &ctx, next_callback next)
异步预过滤
function< void(bool should_continue)> next_callback
异步继续回调
virtual void post_filter_async(http_request &request, http_response &response, http_context &ctx, next_callback next)
异步后过滤
virtual void post_filter(http_request &request, http_response &response)
后处理方法
virtual bool pre_filter(http_request &request, http_response &response)
预处理方法
http_server_response http_response
HTTP响应类型别名
http_server_request http_request
HTTP请求类型别名
constexpr Iterator next(Iterator iter, iter_difference_t< Iterator > n=1)
获取迭代器的后一个位置
HTTP过滤器链实现
unordered_map< string, any > http_context
请求上下文,跨过滤器/中间件传递任意数据