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
Nelson Vides 148620ccf4
Exit proc_lib gracefully on proxy header mismatch
If the proxy header was not to match (like, the header not being sent),
cowboy libraries were expecting really strict matching and then crashing
the proc_lib with a badmatch, that generates a hard error report. I
believe this error should be expected and termination should be graceful.
2023-12-05 16:38:20 +01:00
.github/workflows Use GitHub actions for testing Cowboy 2023-12-01 10:00:33 +01:00
doc/src Fix Ranch link in user guide 2023-05-02 11:20:02 +02:00
ebin Don't dialyze the tests by default 2023-12-01 11:08:01 +01:00
examples Update Erlang.mk 2022-09-19 14:17:37 +02:00
src Exit proc_lib gracefully on proxy header mismatch 2023-12-05 16:38:20 +01:00
test Use init_per_suite instead of all/0 for init in tracer_SUITE 2023-12-01 15:46:23 +01: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 Document how to run all test suites 2018-11-20 13:28:48 +01:00
erlang.mk Use GitHub actions for testing Cowboy 2023-12-01 10:00:33 +01:00
LICENSE Update LICENSE copyright year 2022-07-12 16:38:41 +02:00
Makefile Remove unneeded Makefile variables 2023-12-04 11:11:54 +01:00
plugins.mk Document the commands based Websocket interface 2019-10-06 16:51:27 +02:00
README.asciidoc Add sponsor link to the README 2019-12-31 11:12:44 +01:00
rebar.config Update Cowlib to 2.12.1 2023-03-29 15:20:48 +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

* https://ninenines.eu/docs/en/cowboy/2.6/guide[User guide]
* https://ninenines.eu/docs/en/cowboy/2.6/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]
* https://ninenines.eu/services[Commercial Support]
* https://github.com/sponsors/essen[Sponsor me!]