0
Fork 0
mirror of https://github.com/ninenines/cowboy.git synced 2025-07-14 20:30:23 +00:00
Small, fast, modern HTTP server for Erlang/OTP.
Find a file
Loïc Hoguin c09b10190b
Move body length count to cowboy_stream_h instead of protocols
The documentation was correct, the code was not.

This should make it easier to implement new protocols. Note that
for HTTP/2 we will need to add some form of counting later on to
check for malformed requests, but we can do simpler and just
reduce from the expected length and then check if that's 0 when
IsFin=fin.
2017-09-25 12:48:47 +02:00
doc/src Add two new RFCs, remove one obsolete 2017-09-15 09:42:49 +02:00
ebin Cowboy 2.0.0-rc.3 2017-09-15 12:55:05 +02:00
examples Remove broken links from examples README 2017-08-09 09:47:56 +02:00
src Move body length count to cowboy_stream_h instead of protocols 2017-09-25 12:48:47 +02:00
test Improve how we detect request errors 2017-09-14 13:42:17 +02:00
.gitattributes Convert the documentation to Asciidoc 2016-01-14 13:37:20 +01:00
.gitignore gitignore: add examples/ dependency files 2016-05-25 12:54:12 +02:00
CONTRIBUTING.asciidoc Update CONTRIBUTING 2015-11-16 18:55:53 +01:00
erlang.mk Update Erlang.mk 2017-07-14 21:44:39 +02:00
LICENSE Welcome to 2017 2017-01-02 19:36:36 +01:00
Makefile Cowboy 2.0.0-rc.3 2017-09-15 12:55:05 +02:00
plugins.mk Allow passing options to sub protocols 2017-02-18 18:26:20 +01:00
README.asciidoc Update README 2017-01-02 19:28:11 +01:00
rebar.config Update rebar.config 2017-07-19 00:50:11 +02:00

= Cowboy

Cowboy is a small, fast and modern HTTP server for Erlang/OTP.

== Goals

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.

== Online documentation

* http://ninenines.eu/docs/en/cowboy/2.0/guide[User guide]
* http://ninenines.eu/docs/en/cowboy/2.0/manual[Function reference]

== Offline documentation

* While still online, run `make docs`
* User guide available in `doc/` in PDF and HTML formats
* Function reference man pages available in `doc/man3/` and `doc/man7/`
* Run `make install-docs` to install man pages on your system
* Full documentation in Asciidoc available in `doc/src/`
* Examples available in `examples/`

== Getting help

* Official IRC Channel: #ninenines on irc.freenode.net
* https://github.com/ninenines/cowboy/issues[Issues tracker]
* http://ninenines.eu/services[Commercial Support]