actix-httpbin
actix-httpbin copied to clipboard
httpbin.org clone with Rust and actix-web
actix-httpbin
httpbin.org clone with an actix-web under the hood.
Advantages
- Rust is cool
- All images, templates and other files are bundled into one binary, so you can just run it; there is no need in python anymore.
- Amazingly fast, low CPU and memory footprint
API
Till 1.0.0 version it will follow the httpbin(1) API,
so any requests for changes that are not present at the https://httpbin.org
will be closed or postponed.
After the 1.0.0 I might consider to go separately, but let's just reach the first milestone, are'nt we?
Any way, if you need to get list of all available endpoints, run and open it in your browser.
Differences
There are few known (and maybe some unknown) differences from the httpbin(1) right now.
"headers"object keys in the/get,/postand other similar endpoints are lower-cased, it comes from thehttpcrate in that way and I'm not sure if I should force some Camel-Dashed-Case on them- Many methods may respond not only to
GETmethod, it is not intended. If you think that this behaviour is wrong, do not hesitate to create an issue. - Not all methods are implemented for now,
you can find them by searching for
TODOcomment in thesrc/application.rsfile
How to run?
Via Docker
$ docker run -p 80:80 svartalf/actix-httpbin
Install with cargo
$ cargo install actix-httpbin
From sources
$ git clone https://github.com/svartalf/actix-httpbin.git
$ cargo run --release