From 92b54aacc0de5446dd5497c39897b0bbff72e626 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Wed, 13 Jun 2018 09:54:12 +0200 Subject: Rebuild using Asciideck --- docs/en/cowboy/2.4/manual/cowboy_static/index.html | 221 ++++++++------------- 1 file changed, 78 insertions(+), 143 deletions(-) (limited to 'docs/en/cowboy/2.4/manual/cowboy_static/index.html') diff --git a/docs/en/cowboy/2.4/manual/cowboy_static/index.html b/docs/en/cowboy/2.4/manual/cowboy_static/index.html index d1bfd062..0bad63bb 100644 --- a/docs/en/cowboy/2.4/manual/cowboy_static/index.html +++ b/docs/en/cowboy/2.4/manual/cowboy_static/index.html @@ -62,175 +62,110 @@

cowboy_static(3)

-

Name

-
-

cowboy_static - Static file handler

-
-
-
+

cowboy_static - Static file handler

Description

-
-

The module cowboy_static implements file serving capabilities -using the REST semantics provided by cowboy_rest.

-

The static file handler is a pre-written handler coming with -Cowboy. To serve files, use it in your routes.

-
-
-
+

The module cowboy_static implements file serving capabilities using the REST semantics provided by cowboy_rest.

+

The static file handler is a pre-written handler coming with Cowboy. To serve files, use it in your routes.

Options

-
-
-
-
opts() :: {priv_file, App, Path}
-        | {priv_file, App, Path, Extra}
-        | {file, Path}
-        | {file, Path, Extra}
-        | {priv_dir, App, Path}
-        | {priv_dir, App, Path, Extra}
-        | {dir, Path}
-        | {dir, Path, Extra}
-
-App        :: atom()
-Path       :: binary() | string()
-Extra      :: [Etag | Mimetypes]
-
-Etag       :: {etag, module(), function()}
-            | {etag, false}
-
-Mimetypes  :: {mimetypes, module(), function()}
-            | {mimetypes, binary() | ParsedMime}
-
-ParsedMime :: {Type :: binary(), SubType :: binary(), Params}
-Params     :: [{Key :: binary(), Value :: binary()}]
-

Static handler configuration.

-
-
-priv_file -
-
-

-Send a file. -

-

The path is relative to the given application’s private -directory.

+
opts() :: {priv_file, App, Path}
+        | {priv_file, App, Path, Extra}
+        | {file, Path}
+        | {file, Path, Extra}
+        | {priv_dir, App, Path}
+        | {priv_dir, App, Path, Extra}
+        | {dir, Path}
+        | {dir, Path, Extra}
+
+App        :: atom()
+Path       :: binary() | string()
+Extra      :: [Etag | Mimetypes]
+
+Etag       :: {etag, module(), function()}
+            | {etag, false}
+
+Mimetypes  :: {mimetypes, module(), function()}
+            | {mimetypes, binary() | ParsedMime}
+
+ParsedMime :: {Type :: binary(), SubType :: binary(), Params}
+Params     :: [{Key :: binary(), Value :: binary()}]
+
+

Static handler configuration.

+
priv_file
+

Send a file.

+

The path is relative to the given application's private directory.

-
-file -
-
-

-Send a file. -

-

The path is either absolute or relative to the Erlang node’s -current directory.

+
file
+

Send a file.

+

The path is either absolute or relative to the Erlang node's current directory.

-
-priv_dir -
-
-

-Recursively serve files from a directory. -

-

The path is relative to the given application’s private -directory.

+
priv_dir
+

Recursively serve files from a directory.

+

The path is relative to the given application's private directory.

-
-dir -
-
-

-Recursively serve files from a directory. -

-

The path is either absolute or relative to the Erlang node’s -current directory.

+
dir
+

Recursively serve files from a directory.

+

The path is either absolute or relative to the Erlang node's current directory.

-
-

The extra options allow you to define how the etag should be -calculated and how the MIME type of files should be detected.

-

By default the static handler will generate an etag based -on the size and modification time of the file. You may disable -the etag entirely with {etag, false} or provide a module -and function that will be called when needed:

-
-
-
generate_etag(Path, Size, Mtime) -> {strong | weak, binary()}
-
-Path  :: binary()
-Size  :: non_neg_integer()
-Mtime :: file:date_time()
-

By default the static handler will detect Web-related MIME types -by looking at the file extension. You can provide a specific -MIME type that will always be used, or a module and function that -will be called when needed:

-
-
-
detect_mimetype(Path) -> ParsedMime
-
-Path       :: binary()
-ParsedMime :: {Type :: binary(), SubType :: binary(), Params}
-Params     :: [{Key :: binary(), Value :: binary()}]
-

Cowboy comes with two such functions; the default function -cow_mimetypes:web/1, and a second function generated from -the Apache mime.types file, cow_mimetypes:all/1.

-

The MIME type function should return -{<<"application">>, <<"octet-stream">>, []} -when it fails to detect a file’s MIME type.

- - -
+
detect_mimetype(Path) -> ParsedMime
+
+Path       :: binary()
+ParsedMime :: {Type :: binary(), SubType :: binary(), Params}
+Params     :: [{Key :: binary(), Value :: binary()}]
+
+ +

Cowboy comes with two such functions; the default function cow_mimetypes:web/1, and a second function generated from the Apache mime.types file, cow_mimetypes:all/1.

+

The MIME type function should return {<<"application">>, <<"octet-stream">>, []} when it fails to detect a file's MIME type.

Changelog

-
-
    -
  • -

    -1.0: Handler introduced. -

    +
    • 1.0: Handler introduced.
    • -
-
- -
+

Examples

-
-
-
Custom etag function
-
-
generate_etag(Path, Size, Mtime) ->
-    {strong, integer_to_binary(
-        erlang:phash2({Path, Size, Mtime}, 16#ffffffff))}.
-
-
Custom MIME type function
-
-
always_octet_stream(_Path) ->
-    case filename:extension(Path) of
-        <<".erl">> -> {<<"text">>, <<"plain">>, []};
-        _ -> {<<"application">>, <<"octet-stream">>, []}
-    end.
-
-
-
+
always_octet_stream(_Path) ->
+    case filename:extension(Path) of
+        <<".erl">> -> {<<"text">>, <<"plain">>, []};
+        _ -> {<<"application">>, <<"octet-stream">>, []}
+    end.
+

See also

-
- -
- +

cowboy(7), cowboy_router(3)

+ -- cgit v1.2.3