file_server_app.erl 666 B

123456789101112131415161718192021222324252627282930
  1. %% Feel free to use, reuse and abuse the code in this file.
  2. %% @private
  3. -module(file_server_app).
  4. -behaviour(application).
  5. %% API.
  6. -export([start/2]).
  7. -export([stop/1]).
  8. %% API.
  9. start(_Type, _Args) ->
  10. Dispatch = cowboy_router:compile([
  11. {'_', [
  12. {"/[...]", cowboy_static, {priv_dir, file_server, "", [
  13. {mimetypes, cow_mimetypes, all},
  14. {dir_handler, directory_h},
  15. {charset, <<"utf-8">>}
  16. ]}}
  17. ]}
  18. ]),
  19. {ok, _} = cowboy:start_clear(http, [{port, 8080}], #{
  20. env => #{dispatch => Dispatch},
  21. middlewares => [cowboy_router, directory_lister, cowboy_handler]
  22. }),
  23. file_server_sup:start_link().
  24. stop(_State) ->
  25. ok = cowboy:stop_listener(http).