2012-10-15 14:35:52 +02:00
|
|
|
Cowboy User Guide
|
|
|
|
=================
|
|
|
|
|
2013-06-27 00:02:12 +02:00
|
|
|
The Cowboy User Guide explores the modern Web and how to make
|
|
|
|
best use of Cowboy for writing powerful web applications.
|
|
|
|
|
|
|
|
Introducing Cowboy
|
|
|
|
------------------
|
|
|
|
|
2012-10-15 14:35:52 +02:00
|
|
|
* [Introduction](introduction.md)
|
|
|
|
* Purpose
|
|
|
|
* Prerequisites
|
2013-06-27 00:02:12 +02:00
|
|
|
* Supported platforms
|
2012-10-15 14:35:52 +02:00
|
|
|
* Conventions
|
2013-06-27 00:02:12 +02:00
|
|
|
* [The modern Web](modern_web.md)
|
|
|
|
* The prehistoric Web
|
|
|
|
* HTTP/1.1
|
|
|
|
* REST
|
|
|
|
* Long-polling
|
|
|
|
* HTML5
|
|
|
|
* EventSource
|
|
|
|
* Websocket
|
|
|
|
* SPDY
|
|
|
|
* HTTP/2.0
|
|
|
|
* [Erlang and the Web](erlang_web.md)
|
|
|
|
* The Web is concurrent
|
|
|
|
* The Web is soft real time
|
|
|
|
* The Web is asynchronous
|
|
|
|
* The Web is omnipresent
|
|
|
|
* Erlang is the ideal platform for the Web
|
|
|
|
* [Erlang for beginners](erlang_beginners.md)
|
|
|
|
* [Getting started](getting_started.md)
|
|
|
|
|
|
|
|
Using Cowboy
|
|
|
|
------------
|
|
|
|
|
2013-01-01 18:27:41 +01:00
|
|
|
* [Routing](routing.md)
|
2012-10-15 14:35:52 +02:00
|
|
|
* Purpose
|
2013-02-20 12:14:21 +01:00
|
|
|
* Structure
|
|
|
|
* Match syntax
|
2012-11-27 16:24:08 +01:00
|
|
|
* Constraints
|
2013-02-20 12:14:21 +01:00
|
|
|
* Compilation
|
|
|
|
* Live update
|
2013-01-01 18:27:41 +01:00
|
|
|
* [Handlers](handlers.md)
|
2012-10-15 14:35:52 +02:00
|
|
|
* Purpose
|
|
|
|
* Protocol upgrades
|
2013-01-18 00:15:00 +01:00
|
|
|
* Custom protocol upgrades
|
2013-01-01 18:27:41 +01:00
|
|
|
* [HTTP handlers](http_handlers.md)
|
2012-10-15 14:35:52 +02:00
|
|
|
* Purpose
|
|
|
|
* Usage
|
2013-01-01 18:27:41 +01:00
|
|
|
* [Loop handlers](loop_handlers.md)
|
2012-10-15 14:35:52 +02:00
|
|
|
* Purpose
|
|
|
|
* Usage
|
2013-01-01 18:27:41 +01:00
|
|
|
* [Websocket handlers](ws_handlers.md)
|
2012-10-15 14:35:52 +02:00
|
|
|
* Purpose
|
|
|
|
* Usage
|
2013-01-01 18:27:41 +01:00
|
|
|
* [REST handlers](rest_handlers.md)
|
2012-10-15 14:35:52 +02:00
|
|
|
* Purpose
|
2013-04-26 14:12:29 +02:00
|
|
|
* Usage
|
2012-10-15 14:35:52 +02:00
|
|
|
* Flow diagram
|
2013-04-26 14:12:29 +02:00
|
|
|
* Methods
|
2012-10-15 14:35:52 +02:00
|
|
|
* Callbacks
|
2013-04-26 14:12:29 +02:00
|
|
|
* Meta data
|
|
|
|
* Response headers
|
2013-01-01 18:27:41 +01:00
|
|
|
* [Static handlers](static_handlers.md)
|
2012-10-15 14:35:52 +02:00
|
|
|
* Purpose
|
|
|
|
* Usage
|
2013-04-25 18:43:48 +02:00
|
|
|
* MIME type
|
2013-01-01 18:27:41 +01:00
|
|
|
* [Request object](req.md)
|
2012-10-15 14:35:52 +02:00
|
|
|
* Purpose
|
|
|
|
* Request
|
|
|
|
* Request body
|
2013-01-20 15:09:54 +01:00
|
|
|
* Multipart request body
|
2013-01-18 18:04:21 +01:00
|
|
|
* Response
|
2013-01-20 15:09:54 +01:00
|
|
|
* Chunked response
|
|
|
|
* Response preconfiguration
|
2013-01-29 13:32:48 +01:00
|
|
|
* Closing the connection
|
2013-01-20 15:09:54 +01:00
|
|
|
* Reducing the memory footprint
|
2013-01-01 18:27:41 +01:00
|
|
|
* [Hooks](hooks.md)
|
2012-10-15 14:35:52 +02:00
|
|
|
* On request
|
|
|
|
* On response
|
2013-01-03 22:47:51 +01:00
|
|
|
* [Middlewares](middlewares.md)
|
|
|
|
* Purpose
|
|
|
|
* Usage
|
|
|
|
* Configuration
|
|
|
|
* Routing middleware
|
|
|
|
* Handler middleware
|
2013-01-01 18:27:41 +01:00
|
|
|
* [Internals](internals.md)
|
2012-10-15 14:35:52 +02:00
|
|
|
* Architecture
|
2013-01-18 20:22:49 +01:00
|
|
|
* One process for many requests
|
2013-01-17 23:37:50 +01:00
|
|
|
* Lowercase header names
|
2013-01-18 20:22:49 +01:00
|
|
|
* Improving performance
|
2013-03-22 19:59:35 +01:00
|
|
|
* [Resources](resources.md)
|
|
|
|
* Frameworks
|
|
|
|
* Helper libraries
|
|
|
|
* Articles
|