aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md35
1 files changed, 16 insertions, 19 deletions
diff --git a/README.md b/README.md
index c8e9f9f..c106cf0 100644
--- a/README.md
+++ b/README.md
@@ -33,8 +33,8 @@ Embedding Cowboy
Getting Started
---------------
-Cowboy provides an anonymous listener supervisor that you can directly embed
-in your application's supervision tree.
+Cowboy can be started and stopped like any other application. However, the
+Cowboy application do not start any listener, those must be started manually.
A listener is a special kind of supervisor that handles a pool of acceptor
processes. It also manages all its associated request processes. This allows
@@ -48,25 +48,22 @@ before you can start a listener supervisor.
For HTTP applications the transport can be either TCP or SSL for HTTP and
HTTPS respectively. On the other hand, the protocol is of course HTTP.
+You can start and stop listeners by calling cowboy:start_listener and
+cowboy:stop_listener respectively. It is your responsability to give each
+listener a unique name.
+
Code speaks more than words:
- -module(my_app).
- -behaviour(application).
- -export([start/2, stop/1]).
-
- start(_Type, _Args) ->
- Dispatch = [
- %% {Host, list({Path, Handler, Opts})}
- {'_', [{'_', my_handler, []}]}
- ],
- %% NbAcceptors, Transport, TransOpts, Protocol, ProtoOpts
- cowboy_listener_sup:start_link(100,
- cowboy_tcp_transport, [{port, 8080}],
- cowboy_http_protocol, [{dispatch, Dispatch}]
- ).
-
- stop(_State) ->
- ok.
+ application:start(cowboy),
+ Dispatch = [
+ %% {Host, list({Path, Handler, Opts})}
+ {'_', [{'_', my_handler, []}]}
+ ],
+ %% Name, NbAcceptors, Transport, TransOpts, Protocol, ProtoOpts
+ cowboy:start_listener(http, 100,
+ cowboy_tcp_transport, [{port, 8080}],
+ cowboy_http_protocol, [{dispatch, Dispatch}]
+ ).
You must also write the `my_handler` module to process requests. You can
use one of the predefined handlers or write your own. An hello world HTTP