aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--guide/http_handlers.md22
-rw-r--r--guide/toc.md1
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