aboutsummaryrefslogtreecommitdiffstats
path: root/manual/cowboy_sub_protocol.md
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2013-05-17 13:13:27 +0200
committerLoïc Hoguin <[email protected]>2013-05-17 13:13:27 +0200
commit666c59bc422172562673916ed3a8a796c4f9fbf4 (patch)
treef561151846de077513fa767edc10165a469d09ef /manual/cowboy_sub_protocol.md
parent0e0ec7b1203a8490ee9a876f9274fe0c64e708f8 (diff)
downloadcowboy-666c59bc422172562673916ed3a8a796c4f9fbf4.tar.gz
cowboy-666c59bc422172562673916ed3a8a796c4f9fbf4.tar.bz2
cowboy-666c59bc422172562673916ed3a8a796c4f9fbf4.zip
Add the Cowboy Function Reference
The manual details every stable public functions of Cowboy.
Diffstat (limited to 'manual/cowboy_sub_protocol.md')
-rw-r--r--manual/cowboy_sub_protocol.md34
1 files changed, 34 insertions, 0 deletions
diff --git a/manual/cowboy_sub_protocol.md b/manual/cowboy_sub_protocol.md
new file mode 100644
index 0000000..a8ecae1
--- /dev/null
+++ b/manual/cowboy_sub_protocol.md
@@ -0,0 +1,34 @@
+cowboy_sub_protocol
+===================
+
+The `cowboy_sub_protocol` behaviour defines the interface used
+by modules that implement a protocol on top of HTTP.
+
+Types
+-----
+
+None.
+
+Callbacks
+---------
+
+### upgrade(Req, Env, Handler, Opts)
+ -> {ok, Req, Env}
+ | {suspend, Module, Function, Args}
+ | {halt, Req}
+ | {error, StatusCode, Req}
+
+> Types:
+> * Req = cowboy_req:req()
+> * Env = env()
+> * Handler = module()
+> * Opts = any()
+> * Module = module()
+> * Function = atom()
+> * Args = [any()]
+> * StatusCode = cowboy:http_status()
+>
+> Upgrade the protocol.
+>
+> Please refer to the `cowboy_middleware` manual for a
+> description of the return values.