aboutsummaryrefslogtreecommitdiffstats
path: root/manual/cowboy_sub_protocol.md
diff options
context:
space:
mode:
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.