0
Fork 0
mirror of https://github.com/ninenines/cowboy.git synced 2025-07-16 05:00:24 +00:00
Small, fast, modern HTTP server for Erlang/OTP.
Find a file
Loïc Hoguin 5027d1335d
Rework the proc_lib_hack
It is completely removed for connection processes, because
assuming Cowboy is written properly this should bring us
nothing anymore in 2.0.

It is reworked for request processes, there we want to
always propagate the stacktrace (including for exits)
because we will print a report to help with debugging
and proc_lib doesn't propagate it for exits.

At the same time the initial callback for connection
and request processes has been changed to connection_process
and request_process, which should help with identifying
processes when inspecting.
2017-09-14 15:34:37 +02:00
doc/src Update naming in REST flowcharts 2017-09-05 17:19:15 +02:00
ebin Cowboy 2.0.0-rc.2 2017-08-23 15:04:57 +02:00
examples Remove broken links from examples README 2017-08-09 09:47:56 +02:00
src Rework the proc_lib_hack 2017-09-14 15:34:37 +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 Add OTP 20.0.4 to CI 2017-08-29 11:29:30 +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]