0
Fork 0
mirror of https://github.com/ninenines/cowboy.git synced 2025-07-16 05:00:24 +00:00

Improve static file handler guide chapter

Add more infos about MIME types and the file option.
This commit is contained in:
Loïc Hoguin 2013-04-25 18:43:48 +02:00
parent beaae7bf70
commit a2f4703e5e
2 changed files with 31 additions and 2 deletions

View file

@ -19,8 +19,7 @@ Static handlers are pre-written REST handlers. They only need
to be specified in the routing information with the proper options.
The following example routing serves all files found in the
`priv_dir/static/` directory of the application `my_app`. It uses
a mimetypes library to figure out the files' content types.
`priv_dir/static/` directory of the application `my_app`.
``` erlang
Dispatch = [
@ -32,3 +31,32 @@ Dispatch = [
]}
].
```
You can also serve a single file specifically. A common example
would be an `index.html` file to be served when the path `/`
is requested. The following example will serve the `priv/index.html`
file from the application `my_app`.
``` erlang
Dispatch = [
{'_', [
{"/", cowboy_static, [
{directory, {priv_dir, my_app, []}},
{file, "index.html"},
{mimetypes, {fun mimetypes:path_to_mimes/2, default}}
]}
]}
].
```
MIME type
---------
Cowboy does not provide any default for MIME types. This means
that unless you specify the `mimetypes` option, all files will
be sent as `application/octet-stream`, which the browser will
not try to interpret, instead trying to make you download it.
In the examples above we used the
[mimetypes application](https://github.com/spawngrid/mimetypes)
to find the MIME type from the file's extension.

View file

@ -34,6 +34,7 @@ Cowboy User Guide
* [Static handlers](static_handlers.md)
* Purpose
* Usage
* MIME type
* [Request object](req.md)
* Purpose
* Request