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 日

#518HTTP 服务器

Download history 735/week @ 2024-04-28 410/week @ 2024-05-05 442/week @ 2024-05-12 525/week @ 2024-05-19 485/week @ 2024-05-26 967/week @ 2024-06-02 711/week @ 2024-06-09 748/week @ 2024-06-16 645/week @ 2024-06-23 311/week @ 2024-06-30 304/week @ 2024-07-07 457/week @ 2024-07-14 305/week @ 2024-07-21 277/week @ 2024-07-28 360/week @ 2024-08-04 337/week @ 2024-08-11

每月 1,280 次下载
用于 7 个 crates (2 直接)

Apache-2.0

2.5MB
47K SLoC

s3s

Apache 2.0 licensed Unsafe Forbidden

S3 服务适配器

crate 版本 文档
s3s Crates.io Docs
s3s-aws Crates.io Docs
s3s-fs Crates.io Docs

此实验性项目旨在提供构建 S3 兼容服务的舒适适配器。

s3s 以通用 hyper 服务的形式实现了 Amazon S3 REST API。S3 兼容服务可以专注于 S3 API 本身,无需关心 HTTP 层。

s3s-aws 提供了有用的类型和与 aws-sdk-s3 的集成。

s3s-fs 根据文件系统实现了 S3 API,作为一个示例实现。它旨在进行集成测试,可以用于 模拟 S3 客户端。它还提供了一个用于调试的二进制文件。 试试!

工作原理

architecture diagram

上面的图显示了 s3s 的工作方式。

s3s 在调用用户定义的服务之前将 HTTP 请求转换为操作输入。

s3s 在调用用户定义的服务之后将操作输出或错误转换为 HTTP 响应。

数据类型、序列化和反序列化是从 aws-sdk-rust 存储库中的 smithy 模型生成的。我们对 smithy 服务器代码生成 中的某些问题进行了手动修复,并使 s3s 可用。

安全性

S3Service 和此项目中的其他适配器没有安全保护。如果它们直接暴露在互联网上,它们可能会被 攻击

用户必须实现安全增强,例如 HTTP 身体长度限制、速率限制和背压。

贡献

赞助商

如果我的开源工作对您有所帮助,请赞助我

每一份帮助都很有用。谢谢!

依赖项

~29MB
~480K SLoC