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