A simple HTTP File Server made in Elixir using cowboy Erlang/OTP HTTP server that handles GET and PUT methods.
Based on the Python Simple HTTP Server.
You only need to fetch the dependencies and launch it as a simple elixir application.
$ mix deps.get
$ iex -S mix
And there it is! your server is running and serving the /tmp/
dir.
You may change the default ip, port, or root_dir in the file config/config.ex.
GET <directory>
: requests of directories will return the ls -AF
of the requested dir.
example:
$ curl localhost:8080/
Return the ls -AF
of the root directory of the application, <root-dir>
, that may be set in config.ex
.
GET <file>
: requests of files will return the content of the file.
examples:
(1) Check the content of the file <root-dir>/a.txt
as a text/html.
$ curl localhost:8080/a.txt
(2) Download the content of the file <root-dir>/a.txt
.
$ wget localhost:8080/a.txt
PUT <file>
: use PUT requests to upload files to the server
example: Upload the file a.txt
and write it under the dir <root-dir>/b/c/d/e/
.
Create all necessary subdirectories. Overwrite files with same path.
$ curl --upload-file a.txt localhost:8080/b/c/d/e/