aboutsummaryrefslogtreecommitdiffstats
path: root/examples/web_server
diff options
context:
space:
mode:
Diffstat (limited to 'examples/web_server')
-rw-r--r--examples/web_server/Makefile8
-rw-r--r--examples/web_server/README.asciidoc11
-rw-r--r--examples/web_server/priv/small.mp4bin383631 -> 0 bytes
-rw-r--r--examples/web_server/priv/small.ogvbin872453 -> 0 bytes
-rw-r--r--examples/web_server/priv/test.txt1
-rw-r--r--examples/web_server/priv/video.html11
-rw-r--r--examples/web_server/relx.config2
-rw-r--r--examples/web_server/src/directory_handler.erl47
-rw-r--r--examples/web_server/src/directory_lister.erl36
-rw-r--r--examples/web_server/src/web_server_app.erl29
-rw-r--r--examples/web_server/src/web_server_sup.erl23
11 files changed, 0 insertions, 168 deletions
diff --git a/examples/web_server/Makefile b/examples/web_server/Makefile
deleted file mode 100644
index 34ec805..0000000
--- a/examples/web_server/Makefile
+++ /dev/null
@@ -1,8 +0,0 @@
-PROJECT = web_server
-PROJECT_DESCRIPTION = Cowboy static directory indexing example
-PROJECT_VERSION = 1
-
-DEPS = cowboy
-dep_cowboy_commit = master
-
-include ../../erlang.mk
diff --git a/examples/web_server/README.asciidoc b/examples/web_server/README.asciidoc
deleted file mode 100644
index 8f0eb4b..0000000
--- a/examples/web_server/README.asciidoc
+++ /dev/null
@@ -1,11 +0,0 @@
-= Directory indexing example
-
-To try this example, you need GNU `make` and `git` in your PATH.
-
-To build and run the example, use the following command:
-
-[source,bash]
-$ make run
-
-Then point your browser to http://localhost:8080
-to browse the contents of the `priv` directory.
diff --git a/examples/web_server/priv/small.mp4 b/examples/web_server/priv/small.mp4
deleted file mode 100644
index 1fc4788..0000000
--- a/examples/web_server/priv/small.mp4
+++ /dev/null
Binary files differ
diff --git a/examples/web_server/priv/small.ogv b/examples/web_server/priv/small.ogv
deleted file mode 100644
index 6409d6e..0000000
--- a/examples/web_server/priv/small.ogv
+++ /dev/null
Binary files differ
diff --git a/examples/web_server/priv/test.txt b/examples/web_server/priv/test.txt
deleted file mode 100644
index 760cddb..0000000
--- a/examples/web_server/priv/test.txt
+++ /dev/null
@@ -1 +0,0 @@
-If you read this then the static file server works!
diff --git a/examples/web_server/priv/video.html b/examples/web_server/priv/video.html
deleted file mode 100644
index eca63ee..0000000
--- a/examples/web_server/priv/video.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<!DOCTYPE html>
-<html>
-<body>
- <h1>HTML5 Video Example</h1>
- <video controls>
- <source src="small.ogv" type="video/ogg"/>
- <source src="small.mp4" type="video/mp4"/>
- </video>
- <p>Videos taken from <a href="http://techslides.com/sample-webm-ogg-and-mp4-video-files-for-html5/">TechSlides</a></p>
-</body>
-</html>
diff --git a/examples/web_server/relx.config b/examples/web_server/relx.config
deleted file mode 100644
index 305ab94..0000000
--- a/examples/web_server/relx.config
+++ /dev/null
@@ -1,2 +0,0 @@
-{release, {web_server_example, "1"}, [web_server]}.
-{extended_start_script, true}.
diff --git a/examples/web_server/src/directory_handler.erl b/examples/web_server/src/directory_handler.erl
deleted file mode 100644
index 7af67ba..0000000
--- a/examples/web_server/src/directory_handler.erl
+++ /dev/null
@@ -1,47 +0,0 @@
-%% Feel free to use, reuse and abuse the code in this file.
-
-%% @doc Directory handler.
--module(directory_handler).
-
-%% REST Callbacks
--export([init/2]).
--export([allowed_methods/2]).
--export([resource_exists/2]).
--export([content_types_provided/2]).
-
-%% Callback Callbacks
--export([list_json/2]).
--export([list_html/2]).
-
-init(Req, Paths) ->
- {cowboy_rest, Req, Paths}.
-
-allowed_methods(Req, State) ->
- {[<<"GET">>], Req, State}.
-
-resource_exists(Req, {ReqPath, FilePath}) ->
- case file:list_dir(FilePath) of
- {ok, Fs} -> {true, Req, {ReqPath, lists:sort(Fs)}};
- _Err -> {false, Req, {ReqPath, FilePath}}
- end.
-
-content_types_provided(Req, State) ->
- {[
- {{<<"application">>, <<"json">>, []}, list_json},
- {{<<"text">>, <<"html">>, []}, list_html}
- ], Req, State}.
-
-list_json(Req, {Path, Fs}) ->
- Files = [[ <<(list_to_binary(F))/binary>> || F <- Fs ]],
- {jsx:encode(Files), Req, Path}.
-
-list_html(Req, {Path, Fs}) ->
- Body = [[ links(Path, F) || F <- [".."|Fs] ]],
- HTML = [<<"<!DOCTYPE html><html><head><title>Index</title></head>",
- "<body>">>, Body, <<"</body></html>\n">>],
- {HTML, Req, Path}.
-
-links(<<>>, File) ->
- ["<a href='/", File, "'>", File, "</a><br>\n"];
-links(Prefix, File) ->
- ["<a href='/", Prefix, $/, File, "'>", File, "</a><br>\n"].
diff --git a/examples/web_server/src/directory_lister.erl b/examples/web_server/src/directory_lister.erl
deleted file mode 100644
index bc34073..0000000
--- a/examples/web_server/src/directory_lister.erl
+++ /dev/null
@@ -1,36 +0,0 @@
-%% Feel free to use, reuse and abuse the code in this file.
-
--module(directory_lister).
--behaviour(cowboy_middleware).
-
--export([execute/2]).
-
-execute(Req, Env) ->
- case lists:keyfind(handler, 1, Env) of
- {handler, cowboy_static} -> redirect_directory(Req, Env);
- _H -> {ok, Req, Env}
- end.
-
-redirect_directory(Req, Env) ->
- Path = cowboy_req:path_info(Req),
- Path1 = << <<S/binary, $/>> || S <- Path >>,
- {handler_opts, {_, _, _, Extra}} = lists:keyfind(handler_opts, 1, Env),
- {dir_handler, DirHandler} = lists:keyfind(dir_handler, 1, Extra),
- FullPath = resource_path(Path1),
- case valid_path(Path) and filelib:is_dir(FullPath) of
- true -> handle_directory(Req, Env, Path1, FullPath, DirHandler);
- false -> {ok, Req, Env}
- end.
-
-handle_directory(Req, Env, Prefix, Path, DirHandler) ->
- Env1 = lists:keydelete(handler, 1,
- lists:keydelete(handler_opts, 1, Env)),
- {ok, Req, [{handler, DirHandler}, {handler_opts, {Prefix, Path}} | Env1]}.
-
-valid_path([]) -> true;
-valid_path([<<"..">> | _T]) -> false;
-valid_path([<<"/", _/binary>> | _T]) -> false;
-valid_path([_H | Rest]) -> valid_path(Rest).
-
-resource_path(Path) ->
- filename:join([code:priv_dir(web_server), Path]).
diff --git a/examples/web_server/src/web_server_app.erl b/examples/web_server/src/web_server_app.erl
deleted file mode 100644
index e32d947..0000000
--- a/examples/web_server/src/web_server_app.erl
+++ /dev/null
@@ -1,29 +0,0 @@
-%% Feel free to use, reuse and abuse the code in this file.
-
-%% @private
--module(web_server_app).
--behaviour(application).
-
-%% API.
--export([start/2]).
--export([stop/1]).
-
-%% API.
-
-start(_Type, _Args) ->
- Dispatch = cowboy_router:compile([
- {'_', [
- {"/[...]", cowboy_static, {priv_dir, web_server, "", [
- {mimetypes, cow_mimetypes, all},
- {dir_handler, directory_handler}
- ]}}
- ]}
- ]),
- {ok, _} = cowboy:start_http(http, 100, [{port, 8080}], [
- {env, [{dispatch, Dispatch}]},
- {middlewares, [cowboy_router, directory_lister, cowboy_handler]}
- ]),
- web_server_sup:start_link().
-
-stop(_State) ->
- ok.
diff --git a/examples/web_server/src/web_server_sup.erl b/examples/web_server/src/web_server_sup.erl
deleted file mode 100644
index 03f9f67..0000000
--- a/examples/web_server/src/web_server_sup.erl
+++ /dev/null
@@ -1,23 +0,0 @@
-%% Feel free to use, reuse and abuse the code in this file.
-
-%% @private
--module(web_server_sup).
--behaviour(supervisor).
-
-%% API.
--export([start_link/0]).
-
-%% supervisor.
--export([init/1]).
-
-%% API.
-
--spec start_link() -> {ok, pid()}.
-start_link() ->
- supervisor:start_link({local, ?MODULE}, ?MODULE, []).
-
-%% supervisor.
-
-init([]) ->
- Procs = [],
- {ok, {{one_for_one, 10, 10}, Procs}}.