Bandit
Bandit is a pure Elixir HTTP server for Plug apps. It is currently very much a WiP.
Bandit is being built out in between Thousand Island and HAP in order to facilitate socket-level encryption as required by the latter. Once HAP is functional, the intent is to turn attention back to Bandit in order to build it out as a compelling alternative to Cowboy. In the meantime however, what's here is largely provisional and should be taken with a grain of salt.
Project Goals
- Implement robust yet minimal support for HTTP/1.0 through HTTP/2.0 (and eventually beyond)
- Support Websockets via a public API in the same vein as Plug to allow for Phoenix to support servers other than Cowboy
- Aim for simplicity by focusing solely on supporting the Plug interface and not being a general purpose HTTP server
- Eventual goal of a pure-Elixir stack from Phoenix all the way down to TCP sockets
Installation
Bandit is available in Hex. The package can be installed
by adding bandit to your list of dependencies in mix.exs:
def deps do
[
{:bandit, "~> 0.1.0"}
]
end
Documentation can be found at https://hexdocs.pm/bandit.
License
MIT