📄️Adaptor
用于 net/http 处理程序与 Fiber 请求处理程序之间互相转换的工具,特别感谢 @arsmn!
📄️BasicAuth
Fiber 的基本认证中间件,提供 HTTP 基本认证功能。对于有效的凭据,它会调用下一个处理程序;对于缺失或无效的凭据,则返回 401 Unauthorized 或自定义响应。
📄️缓存
Fiber 的缓存中间件,用于拦截并缓存响应。该中间件会使用 c.Path() 作为唯一标识符来缓存 Body、Content-Type 和 StatusCode。特别感谢 @codemicro 为 Fiber 核心创建此中间件!
📄️压缩
Fiber 的压缩中间件,根据 Accept-Encoding 头部使用 gzip、deflate 和 brotli 压缩方式压缩响应。
📄️CORS
CORS(跨域资源共享)是 Fiber 的中间件,允许服务器指定哪些来源可以访问其资源以及如何访问。它不是一个安全功能,而是用于放宽 Web 浏览器对跨域请求安全模型的限制。您可以在 Mozilla Developer Network 上了解更多关于 CORS 的信息。
📄️CSRF
Fiber 的 CSRF 中间件提供针对跨站请求伪造 (CSRF) 攻击的防护。使用 RFC9110#section-9.2.1 中定义为 '安全' 的方法(GET、HEAD、OPTIONS 和 TRACE)以外的方法发出的请求,会使用令牌进行验证。如果检测到潜在攻击,中间件将返回默认的 403 Forbidden 错误。
📄️EarlyData
Fiber 的 Early Data 中间件添加了对 TLS 1.3 的 Early Data(“0-RTT”)功能的支持。
📄️加密 Cookie
Encrypt Cookie 是 Fiber 的中间件,通过加密来保护您的 cookie 值安全。
📄️EnvVar
Fiber 的 EnvVar 中间件,可用于暴露带有各种选项的环境变量。
📄️ETag
Fiber 的 ETag 中间件,可以提高缓存效率并节省带宽,因为如果内容没有改变,Web 服务器无需重新发送完整的响应。
📄️ExpVar
Fiber 的 Expvar 中间件,通过其 HTTP 服务器运行时以 JSON 格式提供暴露的变量。通常只需导入此包即可注册其 HTTP 处理程序。处理的路径是 /debug/vars。
📄️Favicon
Fiber 的 Favicon 中间件,用于忽略 favicon 请求或在内存中缓存提供的图标,通过跳过磁盘访问来提高性能。用户代理频繁且不加区分地请求 favicon.ico,因此您可能希望在日志记录中间件之前使用此中间件将这些请求从日志中排除。
📄️文件系统
Fiber 的 Filesystem 中间件,允许您从目录提供文件。
📄️健康检查
Fiber 的 Liveness 和 Readiness 探测中间件,提供两个端点用于检查 HTTP 应用的存活状态和就绪状态。
📄️Helmet
Helmet 中间件通过设置各种 HTTP 头部来帮助保护您的应用安全。
📄️Idempotency
Fiber 的 Idempotency 中间件允许构建容错的 API,其中重复的请求(例如由于客户端的网络问题)不会错误地导致在服务器端多次执行相同的操作。
📄️Keyauth
Key auth 中间件提供基于密钥的认证。
📄️限速器
Fiber 的 Limiter 中间件用于限制对公共 API 和/或端点(如密码重置)的重复请求。它对于需要进行限制的 API 客户端、网络爬虫或其他任务也很有用。
📄️日志记录器
Fiber 的 Logger 中间件,记录 HTTP 请求/响应详情。
📄️监控
Fiber 的 Monitor 中间件,用于报告服务器指标,灵感来自于 express-status-monitor
📄️Pprof
Fiber 的 Pprof 中间件,通过其 HTTP 服务器运行时以 pprof 可视化工具所需的格式提供性能分析数据。通常只需导入此包即可注册其 HTTP 处理程序。所有处理的路径都以 /debug/pprof/ 开头。
📄️代理
Fiber 的 Proxy 中间件,允许您将请求代理到多个服务器。
📄️恢复
Fiber 的 Recover 中间件,可以在调用链中的任何位置从 panic 中恢复,并将控制权交给集中的 ErrorHandler。
📄️重定向
Fiber 的重定向中间件。
📄️RequestID
Fiber 的 RequestID 中间件,为响应添加一个标识符。
📄️重写
Rewrite 中间件根据提供的规则重写 URL 路径。这对于向后兼容或创建更清晰、更具描述性的链接很有帮助。
📄️会话
Fiber 的会话中间件。
📄️跳过
Fiber 的 Skip 中间件,如果条件函数返回 true,则跳过被包装的处理程序。
📄️超时
Fiber 中存在两种不同的超时中间件实现。