diff options
-rw-r--r-- | guide/http_handlers.md | 22 | ||||
-rw-r--r-- | guide/toc.md | 1 |
2 files changed, 16 insertions, 7 deletions
diff --git a/guide/http_handlers.md b/guide/http_handlers.md index 0d8886d..ea88c79 100644 --- a/guide/http_handlers.md +++ b/guide/http_handlers.md @@ -6,12 +6,22 @@ Purpose HTTP handlers are the simplest Cowboy module to handle a request. -Callbacks ---------- - -@todo Describe the callbacks. - Usage ----- -@todo Explain how to use them. +You need to implement three callbacks for HTTP handlers. The first, +`init/3`, is common to all handlers. In the context of HTTP handlers +this should be used for any initialization needs. + +The second callback, `handle/2`, is where most of your code should +be. As the name explains, this is where you handle the request. + +The last callback, `terminate/2`, will be empty most of the time. +It's used for any needed cleanup. If you used the process dictionary, +timers, monitors then you most likely want to stop them in this +callback, as Cowboy might end up reusing this process for subsequent +requests. Please see the Internals chapter for more information. + +Of course the general advice is to not use the process dictionary, +and that any operation requiring reception of messages should be +done in a loop handler, documented in its own chapter. diff --git a/guide/toc.md b/guide/toc.md index fd711df..870ce62 100644 --- a/guide/toc.md +++ b/guide/toc.md @@ -18,7 +18,6 @@ Cowboy User Guide * Custom protocol upgrades * [HTTP handlers](http_handlers.md) * Purpose - * Callbacks * Usage * [Loop handlers](loop_handlers.md) * Purpose |