mirror of
https://github.com/ninenines/cowboy.git
synced 2025-07-14 12:20:24 +00:00
Small, fast, modern HTTP server for Erlang/OTP.
cowboyerlangfunctionalhigh-performancehttphttp-serverhttp2http2-serverhttpsproduction-readyrestwebweb-frameworkwebsocketwebsocket-serverwebsockets
![]() We now always send a failure reason (bad protocol, bad encoding, etc.) unless the closure was initiated by the client and it didn't send a close code. We now check that the close frames have a payload that is valid UTF-8, unless they don't have a payload at all. We now do not crash the process anymore when bad opcodes are sent, or when the opcode 0 is sent before fragmentation was initiated. Overall this makes us closer to full compliance with the RFC. |
||
---|---|---|
doc | ||
examples | ||
guide | ||
src | ||
test | ||
.gitignore | ||
AUTHORS | ||
CHANGELOG.md | ||
CONTRIBUTING.md | ||
LICENSE | ||
Makefile | ||
README.md | ||
rebar.config | ||
ROADMAP.md |
Cowboy
Cowboy is a small, fast and modular HTTP server written in Erlang.
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 parts 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.
No parameterized module. No process dictionary. Clean Erlang code.
Getting Started
- Read the guide
- Look at the examples in the
examples/
directory - Build API documentation with
make docs
; opendoc/index.html
Support
- Official IRC Channel: #ninenines on irc.freenode.net
- Mailing Lists
- Commercial Support