aboutsummaryrefslogtreecommitdiffstats
path: root/doc/src/manual/cowboy_sub_protocol.asciidoc
blob: 8146a4488c39659e976e134a10a3d55c56ade5f7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
= cowboy_sub_protocol(3)

== Name

cowboy_sub_protocol - sub protocol

== Description

The `cowboy_sub_protocol` behaviour defines the interface used
by modules that implement a protocol on top of HTTP.

== Callbacks

=== upgrade(Req, Env, Handler, HandlerOpts) -> {ok, Req, Env} | {suspend, Module, Function, Args} | {stop, Req}

Req = cowboy_req:req():: The Req object.
Env = env():: The request environment.
Handler = module():: Handler module.
Opts = any():: Handler options.
Module = module():: MFA to call when resuming the process.
Function = atom():: MFA to call when resuming the process.
Args = [any()]:: MFA to call when resuming the process.

Upgrade the protocol.

Please refer to the `cowboy_middleware` manual for a
description of the return values.