123456789101112131415161718192021222324252627282930313233343536373839404142 |
- -module(web_sup).
- -behaviour(supervisor).
- -export([start_link/0, init/1]).
- -compile(export_all).
- -include_lib ("n2o/include/wf.hrl").
- -include("users.hrl").
- -define(APP, face).
- start_link() -> supervisor:start_link({local, ?MODULE}, ?MODULE, []).
- -define(USERS, [#user{id="maxim",email="maxim@synrc.com"},
- #user{id="doxtop",email="doxtop@synrc.com"},
- #user{id="roman",email="roman@github.com"}]).
- init([]) ->
- {ok, _} = cowboy:start_http(http, 100, [{port, wf:config(n2o,transition_port,8000)}],
- [{env, [{dispatch, dispatch_rules()}]}]),
- PrivDir = code:priv_dir(face),
- {ok, _} = cowboy:start_https(https, 100, [
- {port, wf:config(n2o,port,8443)},
- {cacertfile, PrivDir ++ "/ssl/cowboy-ca.crt"},
- {certfile, PrivDir ++ "/ssl/server.crt"},
- {keyfile, PrivDir ++ "/ssl/server.key"} ], [{env, [{dispatch, dispatch_rules()}]}]),
- users:init(),
- users:populate(?USERS),
- {ok, {{one_for_one, 5, 10}, []}}.
- dispatch_rules() ->
- cowboy_router:compile(
- [{'_', [
- {"/static/[...]", cowboy_static,
- {priv_dir, ?APP, <<"static">>,[{mimetypes,cow_mimetypes,all}]}},
- {"/rest/:resource", rest_cowboy, []},
- {"/rest/:resource/:id", rest_cowboy, []},
- {"/ws/[...]", bullet_handler, [{handler, n2o_bullet}]},
- {'_', n2o_cowboy, []}
- ]}]).
|