2016-01-14 13:35:25 +01:00
|
|
|
// a2x: --dblatex-opts "-P latex.output.revhistory=0 -P doc.publisher.show=0 -P index.numbered=0"
|
2016-08-30 14:18:14 +02:00
|
|
|
// a2x: --dblatex-opts "-s cowboy"
|
2016-01-14 13:35:25 +01:00
|
|
|
// a2x: -d book --attribute tabsize=4
|
|
|
|
|
|
|
|
= Cowboy User Guide
|
|
|
|
|
2016-05-24 14:50:27 +02:00
|
|
|
// REST: where should i handle bindings? init, probably. qs? in media type functions
|
|
|
|
// REST: explain how a module per media type is good; module may be shared between client/server
|
|
|
|
|
|
|
|
// @todo Put the list of RFCs and other documents supported somewhere.
|
|
|
|
|
2016-01-14 13:35:25 +01:00
|
|
|
= Rationale
|
|
|
|
|
|
|
|
include::modern_web.asciidoc[The modern Web]
|
|
|
|
|
|
|
|
include::erlang_web.asciidoc[Erlang and the Web]
|
|
|
|
|
|
|
|
= Introduction
|
|
|
|
|
|
|
|
include::introduction.asciidoc[Introduction]
|
|
|
|
|
|
|
|
include::getting_started.asciidoc[Getting started]
|
|
|
|
|
2016-05-24 14:50:27 +02:00
|
|
|
include::flow_diagram.asciidoc[Flow diagram]
|
2016-01-14 13:35:25 +01:00
|
|
|
|
|
|
|
= Configuration
|
|
|
|
|
2016-05-24 14:50:27 +02:00
|
|
|
include::listeners.asciidoc[Listeners]
|
2016-01-14 13:35:25 +01:00
|
|
|
|
2016-05-24 14:50:27 +02:00
|
|
|
include::routing.asciidoc[Routing]
|
2016-01-14 13:35:25 +01:00
|
|
|
|
2016-05-24 14:50:27 +02:00
|
|
|
include::constraints.asciidoc[Constraints]
|
|
|
|
|
|
|
|
= Handlers
|
2016-01-14 13:35:25 +01:00
|
|
|
|
|
|
|
include::handlers.asciidoc[Handlers]
|
|
|
|
|
|
|
|
include::loop_handlers.asciidoc[Loop handlers]
|
|
|
|
|
2016-05-24 14:50:27 +02:00
|
|
|
include::static_files.asciidoc[Static files]
|
|
|
|
|
|
|
|
= Request and response
|
|
|
|
|
|
|
|
include::req.asciidoc[Request details]
|
2016-01-14 13:35:25 +01:00
|
|
|
|
|
|
|
include::req_body.asciidoc[Reading the request body]
|
|
|
|
|
|
|
|
include::resp.asciidoc[Sending a response]
|
|
|
|
|
|
|
|
include::cookies.asciidoc[Using cookies]
|
|
|
|
|
|
|
|
include::multipart.asciidoc[Multipart]
|
|
|
|
|
|
|
|
= REST
|
|
|
|
|
|
|
|
include::rest_principles.asciidoc[REST principles]
|
|
|
|
|
|
|
|
include::rest_handlers.asciidoc[Handling REST requests]
|
|
|
|
|
|
|
|
include::rest_flowcharts.asciidoc[REST flowcharts]
|
|
|
|
|
|
|
|
include::resource_design.asciidoc[Designing a resource handler]
|
|
|
|
|
|
|
|
= Websocket
|
|
|
|
|
|
|
|
include::ws_protocol.asciidoc[The Websocket protocol]
|
|
|
|
|
2017-01-02 14:20:15 +01:00
|
|
|
include::ws_handlers.asciidoc[Websocket handlers]
|
2016-01-14 13:35:25 +01:00
|
|
|
|
2017-01-02 14:20:15 +01:00
|
|
|
= Advanced
|
2016-01-14 13:35:25 +01:00
|
|
|
|
2017-01-02 14:20:15 +01:00
|
|
|
include::streams.asciidoc[Streams]
|
2016-01-14 13:35:25 +01:00
|
|
|
|
|
|
|
include::middlewares.asciidoc[Middlewares]
|
|
|
|
|
2017-01-02 14:20:15 +01:00
|
|
|
// @todo Rather have two chapters, custom handlers and custom protocol upgrades
|
2016-01-14 13:35:25 +01:00
|
|
|
include::sub_protocols.asciidoc[Sub protocols]
|
|
|
|
|
2017-03-20 14:21:42 +01:00
|
|
|
= Additional information
|
2017-01-02 14:20:15 +01:00
|
|
|
|
|
|
|
//include::migrating_from_1.0.asciidoc[Migrating from Cowboy 1.0 to 2.0]
|
|
|
|
|
|
|
|
// @todo Maybe history? Could take info from architecture also.
|
|
|
|
|
2017-03-20 14:21:42 +01:00
|
|
|
include::specs.asciidoc[HTTP and other specifications]
|
|
|
|
|
2017-01-02 14:20:15 +01:00
|
|
|
= Deprecated chapters
|
|
|
|
|
|
|
|
== About the deprecated chapters
|
|
|
|
|
|
|
|
The following chapters were relevant in Cowboy 1.0. They have
|
|
|
|
not been updated for Cowboy 2.0 yet. The information in these
|
|
|
|
chapters may or may not be useful.
|
|
|
|
|
|
|
|
include::architecture.asciidoc[Architecture]
|
|
|
|
|
|
|
|
include::broken_clients.asciidoc[Dealing with broken clients]
|
|
|
|
|
2016-01-14 13:35:25 +01:00
|
|
|
include::hooks.asciidoc[Hooks]
|
2017-01-02 14:20:15 +01:00
|
|
|
|
|
|
|
include::overview.asciidoc[Overview]
|