Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

AlternativeDescriptionWhy not chosen
tiny_http as http server libraryLow level HTTP server libraryNo async support
hyper as http server libraryA fast and correct HTTP implementation for Rust. Actually the fastest http server library according to techempower.
  1. Has many dependencies and one of them is tokio which is not optional.
  2. No information on whether it will work with async-std as it is built with the use of tokio
  3. Not possible to upgrade the http connection with web socket
https://github.com/carllerche/h2
Http 2.0 is not supported by substrate
https://crates.io/crates/http-service

https://github.com/http-rs/tide

actix / warp / rocket as web frameworkPopular web frameworks with both warp and rocket being built on hyper library,
  1. They are Web Frameworks and it is preferable to use a library
  2. They have many dependencies, where most of them are not needed for our purposes
Custom http and web socket librariesIt is possible to implement fully custom solution.

There are already existing solutions which correctly implement the standards and are widely used.

The team will be able to focus on our unique functionality.

...