15 个版本 (8 个破坏性版本)
0.10.1 | 2024 年 8 月 11 日 |
---|---|
0.10.0 | 2024 年 4 月 16 日 |
0.9.0 | 2024 年 3 月 10 日 |
0.8.1 | 2023 年 12 月 9 日 |
0.4.0 | 2023 年 3 月 8 日 |
#518 在 HTTP 服务器 中
每月 1,280 次下载
用于 7 个 crates (2 直接)
2.5MB
47K SLoC
s3s
S3 服务适配器
crate | 版本 | 文档 |
---|---|---|
s3s | ||
s3s-aws | ||
s3s-fs |
此实验性项目旨在提供构建 S3 兼容服务的舒适适配器。
s3s
以通用 hyper 服务的形式实现了 Amazon S3 REST API。S3 兼容服务可以专注于 S3 API 本身,无需关心 HTTP 层。
s3s-aws
提供了有用的类型和与 aws-sdk-s3
的集成。
s3s-fs
根据文件系统实现了 S3 API,作为一个示例实现。它旨在进行集成测试,可以用于 模拟 S3 客户端。它还提供了一个用于调试的二进制文件。 试试!
工作原理
上面的图显示了 s3s
的工作方式。
s3s
在调用用户定义的服务之前将 HTTP 请求转换为操作输入。
s3s
在调用用户定义的服务之后将操作输出或错误转换为 HTTP 响应。
数据类型、序列化和反序列化是从 aws-sdk-rust 存储库中的 smithy 模型生成的。我们对 smithy 服务器代码生成 中的某些问题进行了手动修复,并使 s3s
可用。
安全性
S3Service
和此项目中的其他适配器没有安全保护。如果它们直接暴露在互联网上,它们可能会被 攻击。
用户必须实现安全增强,例如 HTTP 身体长度限制、速率限制和背压。
贡献
赞助商
如果我的开源工作对您有所帮助,请赞助我。
每一份帮助都很有用。谢谢!
依赖项
~29MB
~480K SLoC