52 个版本
| 0.22.0 | 2024 年 8 月 10 日 |
|---|---|
| 0.20.2 | 2024 年 1 月 26 日 |
| 0.20.1 | 2023 年 11 月 18 日 |
| 0.19.1 | 2023 年 2 月 26 日 |
| 0.15.0 | 2022 年 3 月 7 日 |
#14 在 HTTP 服务器
100,108 每月下载量
用于 18 crates
310KB
6.5K SLoC
actix-web-lab
为 Actix Web 可能包含的实验性提取器、中间件和其他额外功能。
特性
响应器
Csv: 高效的 CSV 流式传输 (文档)NdJson: 高效的 NDJSON 流式传输 (文档)DisplayStream: 高效的逐行Display流式传输 (文档)Html: (毕业 🎉) 基本的字符串包装器,以 HTML 内容类型响应 (文档)Cbor: 基本的 CBOR 格式包装器,具有适当的 Content-Type (文档)MessagePack: 基本的 MessagePack 格式包装器,具有适当的 Content-Type (文档)Sse: 具有类似通道界面的语义服务器端发送事件 (SSE) 响应器 (文档)
中间件
from_fn: (毕业 🎉) 使用异步函数作为中间件 (文档)map_response: 使用异步函数修改响应 (文档)map_response_body: 使用异步函数修改响应体 (文档)RedirectHttps: 如果连接不安全,则将流量重定向到 HTTPS 的中间件,可选 HSTS (文档)redirect_to_www:用于将流量重定向到www.的函数中间件,如果已经不在那里(文档)redirect_to_non_www:用于将流量重定向到www.的函数中间件,如果已经不在那里(文档)ErrorHandlers:具有更简单界面的替代错误处理中间件(文档)NormalizePath:具有重定向选项的替代路径规范化中间件(文档)CatchPanic:捕获封装的处理程序和中间件中的恐慌,返回空的500响应(文档)PanicReporter:捕获封装的处理程序和中间件中的恐慌,返回空的500响应(文档)LoadShed:当内部服务未准备好时减轻负载(文档)
提取器
LazyData:首次使用时初始化的应用程序数据/状态的函数(文档)SwapData:可以在运行时替换的应用程序数据/状态(Data的替代方案)(文档)LocalData:使用内部Rc的应用程序数据/状态,避免原子开销(Data的替代方案)(文档)ThinData:(毕业🎉)用于便宜克隆类型的应用程序数据/状态的函数(文档)Json:具有常量泛型有效负载限制的简化JSON提取器(文档)Path:支持解构的简化路径参数提取器(文档)Query:可以收集多值项的简化查询字符串提取器(文档)RequestSignature:包装提取器并计算与请求签名一起(文档)BodyLimit:包装正文提取器并通过限制有效负载大小防止DoS攻击(文档)Bytes:具有常量泛型限制的简化Bytes提取器(文档)UrlEncodedForm:具有常量泛型有效负载大小限制的URL编码表单提取器(文档)Host:从URL或Host标头中获取的主机信息(文档)
宏
FromRequest:从其他提取器派生宏以实现FromRequest的聚合结构(文档)
头部信息
StrictTransportSecurity:严格传输安全(HSTS)配置(文档)CacheControl:支持现代指令的 Cache-Control 类型头部(文档)ContentLength:Content-Length 类型头部(文档)Forwarded:代理和原始客户端信息(文档)
身体类型
服务
路由守卫
Acceptable:(毕业🎉)验证是否存在Accept头部并且它包含兼容的 MIME 类型(文档)
测试工具
test_request:使用类似 HTTP 的 DSL 构建TestRequest(文档)assert_response_matches:快速编写测试以检查ServiceResponse的各个部分(文档)
其他工具
fork_request_payload:有效地克隆请求负载(文档)
关于此软件包的注意事项
- 它永远不会达到 v1.0。
- 最低支持的 Rust 版本(MSRV)是每个发布时的最新稳定版本。
- 在大多数 0.x 版本升级时可能会发生重大更改。
- 某些项目的文档可能有限。
- 毕业到 Actix Web 软件包的项目将在此处标记为已弃用一段合理的时间,以便您进行迁移。
- 迁移通常只需从导入中删除
_lab后缀即可。
依赖项
~19–31MB
~548K SLoC