#http #web #tokio #web-server #server #testing

app actix-httpbin

httpbin.org 的 actix-web 克隆版本

1 个不稳定版本

使用旧的 Rust 2015

0.1.0 2018年5月27日

#1081HTTP 服务器

Apache-2.0 OR MIT

92KB
1.5K SLoC

actix-httpbin

httpbin.org 使用 actix-web 实现的克隆版本。

优点

  1. Rust 很酷
  2. 所有图像、模板和其他文件都打包在一个二进制文件中,因此您可以直接运行它;不再需要 Python。
  3. 非常快,CPU 和内存占用低

API

1.0.0 版本,它将遵循 httpbin(1) API,因此任何针对 https://httpbin.org 上不存在的变化的请求都将被关闭或推迟。

1.0.0 之后,我可能会考虑单独进行,但让我们先达到第一个里程碑,好吗?

无论如何,如果您需要获取所有可用端点的列表,请在浏览器中运行并打开它。

差异

目前有几个已知(也许还有一些未知的)与 httpbin(1) 的差异。

  1. "headers" 对象键在 /get/post 和其他类似端点中是小写的,这是从 http 包中这样实现的,我不确定是否应该强制使用 Camel-Dashed-Case
  2. 许多方法可能不仅对 GET 方法做出响应,这不是预期的。如果您认为这种行为是错误的,请不要犹豫,创建一个问题。
  3. 目前并非所有方法都已实现,您可以通过在 src/application.rs 文件中搜索 TODO 注释来找到它们

如何运行?

通过 Docker

$ docker run -p 80:80 svartalf/actix-httpbin

使用 cargo 安装

$ cargo install actix-httpbin

从源代码

$ git clone https://github.com/svartalf/actix-httpbin.git
$ cargo run --release

依赖关系

~29–40MB
~654K SLoC