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服务器

Download history 933/week @ 2024-04-27 580/week @ 2024-05-04 762/week @ 2024-05-11 817/week @ 2024-05-18 590/week @ 2024-05-25 1176/week @ 2024-06-01 856/week @ 2024-06-08 936/week @ 2024-06-15 910/week @ 2024-06-22 468/week @ 2024-06-29 508/week @ 2024-07-06 700/week @ 2024-07-13 627/week @ 2024-07-20 576/week @ 2024-07-27 708/week @ 2024-08-03 740/week @ 2024-08-10

每月2,743次下载
8 个Crate中使用 (直接使用3个)

Apache-2.0

2MB
37K 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体长度限制、速率限制和背压。

贡献

赞助

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

每一份帮助都至关重要。谢谢!

依赖关系

~9–13MB
~226K SLoC