litefs.middleware package

class litefs.middleware.AuthMiddleware(app, auth_header: str = 'Authorization')[源代码]

基类:Middleware

认证中间件

基于请求头的简单认证中间件

process_request(request_handler)[源代码]

处理请求,检查认证信息

参数:

request_handler -- 请求处理器实例

返回:

如果认证失败,返回 401 响应 否则返回 None,继续处理请求

class litefs.middleware.CORSMiddleware(app, allow_origins: List[str] | None = None, allow_methods: List[str] | None = None, allow_headers: List[str] | None = None, expose_headers: List[str] | None = None, allow_credentials: bool = False, max_age: int = 86400)[源代码]

基类:Middleware

CORS 中间件

处理跨域资源共享(CORS)请求,支持配置允许的来源、方法、头部等

process_request(request_handler)[源代码]

处理请求,检查是否为预检请求

参数:

request_handler -- 请求处理器实例

返回:

如果是预检请求,返回预检响应 否则返回 None,继续处理请求

process_response(request_handler, response)[源代码]

处理响应,添加 CORS 响应头

参数:
  • request_handler -- 请求处理器实例

  • response -- 响应数据

返回:

添加了 CORS 响应头的响应数据

class litefs.middleware.CSRFMiddleware(app, secret_key: str | None = None, token_name: str = 'csrf_token', header_name: str = 'X-CSRFToken', cookie_name: str = 'csrftoken', cookie_secure: bool = False, cookie_http_only: bool = True, cookie_same_site: str = 'Lax', exempt_methods: list | None = None)[源代码]

基类:Middleware

CSRF 保护中间件

提供跨站请求伪造防护,通过生成和验证 CSRF 令牌来保护表单提交

process_request(request_handler)[源代码]

处理请求,验证 CSRF 令牌

参数:

request_handler -- 请求处理器实例

返回:

如果 CSRF 验证失败,返回 403 响应 否则返回 None,继续处理请求

process_response(request_handler, response)[源代码]

处理响应,设置 CSRF 令牌 cookie

参数:
  • request_handler -- 请求处理器实例

  • response -- 响应数据

返回:

添加了 CSRF 令牌 cookie 的响应数据

class litefs.middleware.HealthCheck(app, path: str = '/health', ready_path: str = '/health/ready')[源代码]

基类:Middleware

健康检查中间件

提供 /health 和 /health/ready 端点用于健康检查

add_check(name: str, check_func: Callable[[], bool])[源代码]

添加健康检查

参数:
  • name -- 检查名称

  • check_func -- 检查函数,返回 True 表示健康,False 表示不健康

add_ready_check(name: str, check_func: Callable[[], bool])[源代码]

添加就绪检查

参数:
  • name -- 检查名称

  • check_func -- 检查函数,返回 True 表示就绪,False 表示未就绪

process_request(request_handler)[源代码]

处理请求,检查是否为健康检查端点

参数:

request_handler -- 请求处理器实例

返回:

继续处理请求 其他值: 直接返回该值作为响应

返回类型:

None

class litefs.middleware.LoggingMiddleware(app, logger: Logger | None = None)[源代码]

基类:Middleware

日志中间件

记录所有请求和响应的详细信息,包括请求时间、响应时间、状态码等

process_exception(request_handler, exception)[源代码]

处理异常,记录异常信息

参数:
  • request_handler -- 请求处理器实例

  • exception -- 异常对象

返回:

继续抛出异常

返回类型:

None

process_request(request_handler)[源代码]

处理请求,记录请求开始时间

参数:

request_handler -- 请求处理器实例

process_response(request_handler, response)[源代码]

处理响应,记录请求处理时间

参数:
  • request_handler -- 请求处理器实例

  • response -- 响应数据

返回:

响应数据

class litefs.middleware.Middleware(app)[源代码]

基类:object

中间件基类

所有中间件都应该继承此类并实现 process_request 和/或 process_response 方法

process_exception(request_handler, exception)[源代码]

处理异常

参数:
  • request_handler -- 请求处理器实例

  • exception -- 异常对象

返回:

继续抛出异常 其他值: 返回该值作为响应,不抛出异常

返回类型:

None

process_request(request_handler)[源代码]

处理请求,在请求到达业务逻辑之前执行

参数:

request_handler -- 请求处理器实例

返回:

继续处理请求 其他值: 直接返回该值作为响应,中断后续处理

返回类型:

None

process_response(request_handler, response)[源代码]

处理响应,在响应返回给客户端之前执行

参数:
  • request_handler -- 请求处理器实例

  • response -- 响应数据

返回:

修改后的响应数据

class litefs.middleware.MiddlewareManager[源代码]

基类:object

中间件管理器

负责管理所有中间件的注册、加载和执行

add(middleware_class, **kwargs)[源代码]

添加中间件

参数:
  • middleware_class -- 中间件类

  • **kwargs -- 传递给中间件构造函数的参数

返回:

支持链式调用

返回类型:

self

clear()[源代码]

清空所有中间件

get_middleware_instances(app)[源代码]

获取所有中间件实例

参数:

app -- Litefs 应用实例

返回:

中间件实例列表

process_exception(request_handler, exception)[源代码]

按顺序执行所有中间件的 process_exception 方法

参数:
  • request_handler -- 请求处理器实例

  • exception -- 异常对象

返回:

继续抛出异常 其他值: 返回该值作为响应

返回类型:

None

process_request(request_handler)[源代码]

按顺序执行所有中间件的 process_request 方法

参数:

request_handler -- 请求处理器实例

返回:

继续处理请求 其他值: 直接返回该值作为响应

返回类型:

None

process_response(request_handler, response)[源代码]

按逆序执行所有中间件的 process_response 方法

参数:
  • request_handler -- 请求处理器实例

  • response -- 响应数据

返回:

处理后的响应数据

remove(middleware_class)[源代码]

移除中间件

参数:

middleware_class -- 中间件类

class litefs.middleware.RateLimitMiddleware(app, max_requests: int = 100, window_seconds: int = 60, key_func: callable | None = None, block_duration: int = 60)[源代码]

基类:Middleware

限流中间件

基于令牌桶算法实现请求限流,支持按 IP 地址或用户限流

process_request(request_handler)[源代码]

处理请求,检查是否超过限流

参数:

request_handler -- 请求处理器实例

返回:

如果超过限流,返回 429 响应 否则返回 None,继续处理请求

class litefs.middleware.SecurityMiddleware(app, x_frame_options: str = 'DENY', x_content_type_options: str = 'nosniff', x_xss_protection: str = '1; mode=block', strict_transport_security: str = 'max-age=31536000; includeSubDomains', content_security_policy: str | None = None, referrer_policy: str = 'strict-origin-when-cross-origin', permissions_policy: str | None = None)[源代码]

基类:Middleware

安全中间件

添加各种安全相关的 HTTP 响应头,提高应用安全性

process_response(request_handler, response)[源代码]

处理响应,添加安全响应头

参数:
  • request_handler -- 请求处理器实例

  • response -- 响应数据

返回:

添加了安全响应头的响应数据

class litefs.middleware.ThrottleMiddleware(app, min_interval: float = 0.1, key_func: callable | None = None)[源代码]

基类:Middleware

节流中间件

控制请求的处理速率,防止服务器过载

process_request(request_handler)[源代码]

处理请求,检查是否需要节流

参数:

request_handler -- 请求处理器实例

返回:

如果需要节流,返回 429 响应 否则返回 None,继续处理请求

Submodules

litefs.middleware.base module

class litefs.middleware.base.Middleware(app)[源代码]

基类:object

中间件基类

所有中间件都应该继承此类并实现 process_request 和/或 process_response 方法

process_exception(request_handler, exception)[源代码]

处理异常

参数:
  • request_handler -- 请求处理器实例

  • exception -- 异常对象

返回:

继续抛出异常 其他值: 返回该值作为响应,不抛出异常

返回类型:

None

process_request(request_handler)[源代码]

处理请求,在请求到达业务逻辑之前执行

参数:

request_handler -- 请求处理器实例

返回:

继续处理请求 其他值: 直接返回该值作为响应,中断后续处理

返回类型:

None

process_response(request_handler, response)[源代码]

处理响应,在响应返回给客户端之前执行

参数:
  • request_handler -- 请求处理器实例

  • response -- 响应数据

返回:

修改后的响应数据

class litefs.middleware.base.MiddlewareManager[源代码]

基类:object

中间件管理器

负责管理所有中间件的注册、加载和执行

add(middleware_class, **kwargs)[源代码]

添加中间件

参数:
  • middleware_class -- 中间件类

  • **kwargs -- 传递给中间件构造函数的参数

返回:

支持链式调用

返回类型:

self

clear()[源代码]

清空所有中间件

get_middleware_instances(app)[源代码]

获取所有中间件实例

参数:

app -- Litefs 应用实例

返回:

中间件实例列表

process_exception(request_handler, exception)[源代码]

按顺序执行所有中间件的 process_exception 方法

参数:
  • request_handler -- 请求处理器实例

  • exception -- 异常对象

返回:

继续抛出异常 其他值: 返回该值作为响应

返回类型:

None

process_request(request_handler)[源代码]

按顺序执行所有中间件的 process_request 方法

参数:

request_handler -- 请求处理器实例

返回:

继续处理请求 其他值: 直接返回该值作为响应

返回类型:

None

process_response(request_handler, response)[源代码]

按逆序执行所有中间件的 process_response 方法

参数:
  • request_handler -- 请求处理器实例

  • response -- 响应数据

返回:

处理后的响应数据

remove(middleware_class)[源代码]

移除中间件

参数:

middleware_class -- 中间件类

litefs.middleware.cors module

class litefs.middleware.cors.CORSMiddleware(app, allow_origins: List[str] | None = None, allow_methods: List[str] | None = None, allow_headers: List[str] | None = None, expose_headers: List[str] | None = None, allow_credentials: bool = False, max_age: int = 86400)[源代码]

基类:Middleware

CORS 中间件

处理跨域资源共享(CORS)请求,支持配置允许的来源、方法、头部等

process_request(request_handler)[源代码]

处理请求,检查是否为预检请求

参数:

request_handler -- 请求处理器实例

返回:

如果是预检请求,返回预检响应 否则返回 None,继续处理请求

process_response(request_handler, response)[源代码]

处理响应,添加 CORS 响应头

参数:
  • request_handler -- 请求处理器实例

  • response -- 响应数据

返回:

添加了 CORS 响应头的响应数据

litefs.middleware.health_check module

class litefs.middleware.health_check.HealthCheck(app, path: str = '/health', ready_path: str = '/health/ready')[源代码]

基类:Middleware

健康检查中间件

提供 /health 和 /health/ready 端点用于健康检查

add_check(name: str, check_func: Callable[[], bool])[源代码]

添加健康检查

参数:
  • name -- 检查名称

  • check_func -- 检查函数,返回 True 表示健康,False 表示不健康

add_ready_check(name: str, check_func: Callable[[], bool])[源代码]

添加就绪检查

参数:
  • name -- 检查名称

  • check_func -- 检查函数,返回 True 表示就绪,False 表示未就绪

process_request(request_handler)[源代码]

处理请求,检查是否为健康检查端点

参数:

request_handler -- 请求处理器实例

返回:

继续处理请求 其他值: 直接返回该值作为响应

返回类型:

None

litefs.middleware.logging module

class litefs.middleware.logging.LoggingMiddleware(app, logger: Logger | None = None)[源代码]

基类:Middleware

日志中间件

记录所有请求和响应的详细信息,包括请求时间、响应时间、状态码等

process_exception(request_handler, exception)[源代码]

处理异常,记录异常信息

参数:
  • request_handler -- 请求处理器实例

  • exception -- 异常对象

返回:

继续抛出异常

返回类型:

None

process_request(request_handler)[源代码]

处理请求,记录请求开始时间

参数:

request_handler -- 请求处理器实例

process_response(request_handler, response)[源代码]

处理响应,记录请求处理时间

参数:
  • request_handler -- 请求处理器实例

  • response -- 响应数据

返回:

响应数据

litefs.middleware.rate_limit module

class litefs.middleware.rate_limit.RateLimitMiddleware(app, max_requests: int = 100, window_seconds: int = 60, key_func: callable | None = None, block_duration: int = 60)[源代码]

基类:Middleware

限流中间件

基于令牌桶算法实现请求限流,支持按 IP 地址或用户限流

process_request(request_handler)[源代码]

处理请求,检查是否超过限流

参数:

request_handler -- 请求处理器实例

返回:

如果超过限流,返回 429 响应 否则返回 None,继续处理请求

class litefs.middleware.rate_limit.ThrottleMiddleware(app, min_interval: float = 0.1, key_func: callable | None = None)[源代码]

基类:Middleware

节流中间件

控制请求的处理速率,防止服务器过载

process_request(request_handler)[源代码]

处理请求,检查是否需要节流

参数:

request_handler -- 请求处理器实例

返回:

如果需要节流,返回 429 响应 否则返回 None,继续处理请求

litefs.middleware.security module

class litefs.middleware.security.AuthMiddleware(app, auth_header: str = 'Authorization')[源代码]

基类:Middleware

认证中间件

基于请求头的简单认证中间件

process_request(request_handler)[源代码]

处理请求,检查认证信息

参数:

request_handler -- 请求处理器实例

返回:

如果认证失败,返回 401 响应 否则返回 None,继续处理请求

class litefs.middleware.security.SecurityMiddleware(app, x_frame_options: str = 'DENY', x_content_type_options: str = 'nosniff', x_xss_protection: str = '1; mode=block', strict_transport_security: str = 'max-age=31536000; includeSubDomains', content_security_policy: str | None = None, referrer_policy: str = 'strict-origin-when-cross-origin', permissions_policy: str | None = None)[源代码]

基类:Middleware

安全中间件

添加各种安全相关的 HTTP 响应头,提高应用安全性

process_response(request_handler, response)[源代码]

处理响应,添加安全响应头

参数:
  • request_handler -- 请求处理器实例

  • response -- 响应数据

返回:

添加了安全响应头的响应数据