0
Fork 0
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.
Find a file
Loïc Hoguin 8d69099508 Improve websocket close handling
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.
2013-01-14 16:20:33 +01:00
doc Update version to 0.6.0 2012-05-23 14:53:48 +02:00
examples Add optional automatic response body compression 2013-01-07 22:42:16 +01:00
guide Fix getting started example, missing env 2013-01-11 16:55:11 +01:00
src Improve websocket close handling 2013-01-14 16:20:33 +01:00
test Improve websocket close handling 2013-01-14 16:20:33 +01:00
.gitignore Add .cowboy.plt to the gitignore 2012-04-29 01:20:05 +02:00
AUTHORS Update AUTHORS file 2012-08-09 10:02:18 +02:00
CHANGELOG.md Small Markdown fixes to better follow the specs 2012-12-07 16:19:08 +01:00
CONTRIBUTING.md Add CONTRIBUTING.md file 2012-10-05 00:28:12 +02:00
LICENSE Update version to 0.6.0 2012-05-23 14:53:48 +02:00
Makefile Update autobahntestsuite to 0.5.2 2013-01-10 19:54:10 +01:00
README.md Salvage the README and move parts into the guide 2013-01-03 16:01:49 +01:00
rebar.config Stop using rebar in the Makefile 2013-01-05 17:25:04 +01:00
ROADMAP.md Small Markdown fixes to better follow the specs 2012-12-07 16:19:08 +01:00

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; open doc/index.html

Support