NexusForce 1.0.0
A Modern C++ Library with extended functionality, web components, and utility libraries
载入中...
搜索中...
未找到
static_file_filter类 参考final

静态文件服务过滤器 更多...

#include <http_filter.hpp>

类 static_file_filter 继承关系图:
[图例]

Public 成员函数

 static_file_filter (string root_path)
 构造函数
bool pre_filter (http_request &request, http_response &response) override
 预处理方法
void do_filter (http_request &request, http_response &response) override
 核心过滤方法
NEFORCE_NODISCARD string name () const override
 获取过滤器名称
NEFORCE_NODISCARD optional< http_contentget_mime_type (const string &path) const
 获取MIME类型
void add_mime_type (const string &extension, http_content content_type)
 添加MIME类型映射
Public 成员函数 继承自 http_filter
virtual void post_filter (http_request &request, http_response &response)
 后处理方法

静态 Public 成员函数

static NEFORCE_NODISCARD bool is_safe_path (const string &path)
 检查路径是否安全

详细描述

静态文件服务过滤器

提供静态文件服务功能,当请求匹配文件路径时返回文件内容。

在文件 http_filter.hpp221 行定义.

构造及析构函数说明

◆ static_file_filter()

static_file_filter::static_file_filter ( string root_path)
explicit

构造函数

参数
root_path文件根目录

成员函数说明

◆ add_mime_type()

void static_file_filter::add_mime_type ( const string & extension,
http_content content_type )

添加MIME类型映射

参数
extension文件扩展名
content_typeMIME类型

◆ do_filter()

void static_file_filter::do_filter ( http_request & request,
http_response & response )
inlineoverridevirtual

核心过滤方法

参数
requestHTTP请求
responseHTTP响应

执行实际的过滤逻辑。通常由具体处理器实现, 中间件过滤器可能不实现此方法。

实现了 http_filter.

在文件 http_filter.hpp236 行定义.

◆ get_mime_type()

NEFORCE_NODISCARD optional< http_content > static_file_filter::get_mime_type ( const string & path) const

获取MIME类型

参数
path文件路径
返回
MIME类型,未找到返回none

◆ is_safe_path()

NEFORCE_NODISCARD bool static_file_filter::is_safe_path ( const string & path)
static

检查路径是否安全

参数
path文件路径
返回
安全返回true

防止路径遍历攻击,拒绝包含".."或"//"的路径。

◆ name()

NEFORCE_NODISCARD string static_file_filter::name ( ) const
inlineoverridevirtual

获取过滤器名称

返回
过滤器名称

重载 http_filter .

在文件 http_filter.hpp237 行定义.

◆ pre_filter()

bool static_file_filter::pre_filter ( http_request & request,
http_response & response )
overridevirtual

预处理方法

参数
requestHTTP请求
responseHTTP响应
返回
返回false表示中断后续处理

在请求处理前调用,可以检查请求、修改请求或提前返回响应。

重载 http_filter .


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