From 108a491f5515fdc2a7fe3ce8c310a261d6be3230 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Wed, 6 Jul 2011 17:42:20 +0200 Subject: Add documentation for the public interface. This is probably not perfect yet but it should be better than nothing. We'll improve things with feedback received from the many users. --- src/cowboy_http_handler.erl | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/cowboy_http_handler.erl') diff --git a/src/cowboy_http_handler.erl b/src/cowboy_http_handler.erl index 67f07bc..b220b09 100644 --- a/src/cowboy_http_handler.erl +++ b/src/cowboy_http_handler.erl @@ -12,9 +12,34 @@ %% ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF %% OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +%% @doc Handler for HTTP requests. +%% +%% HTTP handlers must implement three callbacks: init/3, +%% handle/2 and terminate/2, called one after another in +%% that order. +%% +%% init/3 is meant for initialization. It receives information about +%% the transport and protocol used, along with the handler options from the +%% dispatch list, and allows you to upgrade the protocol if needed. You can +%% define a request-wide state here. +%% +%% handle/2 is meant for handling the request. It receives the +%% request and the state previously defined. +%% +%% terminate/2 is meant for cleaning up. It also receives the +%% request and the state previously defined. +%% +%% You do not have to read the request body or even send a reply if you do +%% not need to. Cowboy will properly handle these cases and clean-up afterwards. +%% In doubt it'll simply close the connection. +%% +%% Note that when upgrading the connection to WebSocket you do not need to +%% define the handle/2 and terminate/2 callbacks. -module(cowboy_http_handler). + -export([behaviour_info/1]). +%% @private -spec behaviour_info(_) -> undefined | [{handle, 2} | {init, 3} | {terminate, 2}, ...]. behaviour_info(callbacks) -> -- cgit v1.2.3