Cowboy is a small, fast and modern HTTP server for Erlang/OTP.
- Cowboy aims to provide a complete HTTP stack in a small code base. It is optimized for low latency and low memory usage, in part because it uses binary strings.
- Cowboy provides routing capabilities, selectively dispatching requests to handlers written in Erlang.
- Because it uses Ranch for managing connections, Cowboy can easily be embedded in any other application.
- Cowboy is clean and well tested Erlang code.
Cowboy aims to provide a complete modern Web stack. This includes HTTP/1.1, HTTP/2, Websocket, Server-Sent Events and Webmachine-based REST.
Cowboy comes with functions for introspection and tracing, enabling developers to know precisely what is happening at any time. Its modular design also easily enable developers to add instrumentation.
According to the developers, Cowboy is a high quality project. It has a small code base, is very efficient (both in latency and memory use) and can easily be embedded in another application.
Cowboy is clean Erlang code. It includes hundreds of tests and its code is fully compliant with the Dialyzer. It is also well documented.
Learn more at Nine Nines.