1#ifndef NEFORCE_NETWORK_HTTP_HTTP_CACHE_HPP__
2#define NEFORCE_NETWORK_HTTP_HTTP_CACHE_HPP__
11NEFORCE_BEGIN_NAMESPACE__
25 string status_message;
40class NEFORCE_API response_cache {
82 return entries_.size();
119 bool cache_only_get{
true};
121 cache_filter() =
default;
130 NEFORCE_NODISCARD
string name()
const override {
return "cache_filter"; }
139NEFORCE_END_NAMESPACE__
void do_filter(http_request &request, http_response &response) override
核心过滤方法
string name() const override
获取过滤器名称
bool pre_filter(http_request &request, http_response &response) override
预处理方法
void post_filter(http_request &request, http_response &response) override
后处理方法
static string build_key(const http_method &method, string_view url)
构建缓存键
void put(const string &key, const http_response &response, seconds max_age=-1_s)
存入缓存
seconds default_max_age
默认缓存时间
byte_size max_body_size
最大缓存响应体大小
optional< cached_response > get(const string &key)
获取缓存的响应
static string generate_etag(string_view body)
生成ETag值
void remove(const string &key)
删除缓存条目
size_t max_entries
最大缓存条目数
unsigned long uint64_t
64位无符号整数类型
duration< int64_t > seconds
秒持续时间
http_server_response http_response
HTTP响应类型别名
http_server_request http_request
HTTP请求类型别名
basic_string_view< char > string_view
字符字符串视图