From 078d686a0ac0aed212db97d73bd1e4a9387a4956 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Sun, 6 Jul 2014 13:10:35 +0200 Subject: Provide installable man pages make docs: generate Markdown and man pages in doc/ make install-docs: install man pages to be usable directly Docs are generated from the ezdoc files in doc/src/. --- doc/src/manual/cowboy_middleware.ezdoc | 54 ++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 doc/src/manual/cowboy_middleware.ezdoc (limited to 'doc/src/manual/cowboy_middleware.ezdoc') diff --git a/doc/src/manual/cowboy_middleware.ezdoc b/doc/src/manual/cowboy_middleware.ezdoc new file mode 100644 index 0000000..065139c --- /dev/null +++ b/doc/src/manual/cowboy_middleware.ezdoc @@ -0,0 +1,54 @@ +::: cowboy_middleware + +The `cowboy_middleware` behaviour defines the interface used +by Cowboy middleware modules. + +Middlewares process the request sequentially in the order they +are configured. + +:: Types + +: env() = [{atom(), any()}] + +The environment variable. + +One is created for every request. It is passed to each +middleware module executed and subsequently returned, +optionally with its contents modified. + +:: Callbacks + +: execute(Req, Env) + -> {ok, Req, Env} + | {suspend, Module, Function, Args} + | {halt, Req} + | {error, StatusCode, Req} + +Types: + +* Req = cowboy_req:req() +* Env = env() +* Module = module() +* Function = atom() +* Args = [any()] +* StatusCode = cowboy:http_status() + +Execute the middleware. + +The `ok` return value indicates that everything went well +and that Cowboy should continue processing the request. A +response may or may not have been sent. + +The `suspend` return value will hibernate the process until +an Erlang message is received. Note that when resuming, any +previous stacktrace information will be gone. + +The `halt` return value stops Cowboy from doing any further +processing of the request, even if there are middlewares +that haven't been executed yet. The connection may be left +open to receive more requests from the client. + +The `error` return value sends an error response identified +by the `StatusCode` and then proceeds to terminate the +connection. Middlewares that haven't been executed yet +will not be called. -- cgit v1.2.3