17个版本 (9个重大更改)
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日 |
#54 in HTTP服务器
每月2,743次下载
在 8 个Crate中使用 (直接使用3个)
2MB
37K 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体长度限制、速率限制和背压。
贡献
赞助
如果我的开源工作对您有所帮助,请 赞助我。
每一份帮助都至关重要。谢谢!
依赖关系
~9–13MB
~226K SLoC