0
Fork 0
mirror of https://github.com/ninenines/cowboy.git synced 2025-07-13 20:00:24 +00:00
Small, fast, modern HTTP server for Erlang/OTP.
Find a file
Loïc Hoguin a8c717718a
Some checks failed
Check Cowboy / Cleanup master build (push) Has been cancelled
Check Cowboy / Check examples (push) Has been cancelled
Check Cowboy / Cowboy (push) Has been cancelled
Update to most recent WebTransport draft
WEBTRANSPORT -> WT in most places. Only ENABLE_WEBTRANSPORT
remains (since it is a draft-02 setting that was later removed)
as well as internal functions and atoms about stream headers,
for greater clarity.

The draft also clarified that WT_SESSION_GONE can be sent on
the session stream and since it's what is already done a
related todo was removed.
2025-06-25 11:47:25 +02:00
.github/workflows CI: Remove unneeded env 2024-11-08 12:54:26 +01:00
doc/src Update Cowboy version in user guide 2025-02-17 15:18:23 +01:00
ebin Initial WebTransport implementation 2025-06-19 16:27:07 +02:00
examples Use the new json module for the file_server example 2025-02-11 16:56:30 +01:00
src Update to most recent WebTransport draft 2025-06-25 11:47:25 +02:00
test Update to most recent WebTransport draft 2025-06-25 11:47:25 +02:00
.gitattributes Add ws_perf_SUITE to measure Websocket performance 2025-01-15 13:28:57 +01:00
.gitignore gitignore: add examples/ dependency files 2016-05-25 12:54:12 +02:00
CONTRIBUTING.asciidoc Update CONTRIBUTING.asciidoc 2024-11-15 11:16:45 +01:00
erlang.mk Relax Ranch version requirement for Hex 2025-02-11 16:02:10 +01:00
LICENSE Remove copyright years from all files except LICENSE 2025-02-17 15:00:02 +01:00
Makefile Depend on Cowlib master for WebTransport support 2025-06-20 13:37:10 +02:00
plugins.mk Document the commands based Websocket interface 2019-10-06 16:51:27 +02:00
README.asciidoc Cowboy 2.13.0 2025-02-17 14:46:20 +01:00
rebar.config Depend on Cowlib master for WebTransport support 2025-06-20 13:37:10 +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.13/guide[User guide]
* https://ninenines.eu/docs/en/cowboy/2.13/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

* https://discord.gg/x25nNq2fFE[Discord server]
* https://github.com/ninenines/cowboy/issues[Issues tracker]
* https://ninenines.eu/services[Commercial Support]
* https://github.com/sponsors/essen[Sponsor me!]