Plug.MIME
Maps MIME types to file extensions and vice versa.
MIME types can be extended in your application configuration as follows:
config :plug, :mimes, %{
"application/vnd.api+json" => ["json-api"]
}
After adding the configuration, Plug needs to be recompiled. If you are using mix, it can be done with:
$ touch deps/plug/mix.exs
$ mix deps.compile plug
Summary↑
extensions(type) | Returns the extensions associated with a given MIME type |
path(path) | Guesses the MIME type based on the path’s extension. See |
type(file_extension) | Returns the MIME type associated with a file extension. If no MIME type is
known for |
valid?(type) | Returns whether a MIME type is registered |
Functions
Specs:
Returns the extensions associated with a given MIME type.
Examples
iex> Plug.MIME.extensions("text/html")
["html", "htm"]
iex> Plug.MIME.extensions("application/json")
["json"]
iex> Plug.MIME.extensions("foo/bar")
[]
Specs:
Guesses the MIME type based on the path’s extension. See type/1
.
Examples
iex> Plug.MIME.path("index.html")
"text/html"
Specs:
Returns the MIME type associated with a file extension. If no MIME type is
known for file_extension
, "application/octet-stream"
is returned.
Examples
iex> Plug.MIME.type("txt")
"text/plain"
iex> Plug.MIME.type("foobarbaz")
"application/octet-stream"
Specs:
- valid?(String.t) :: boolean
Returns whether a MIME type is registered.
Examples
iex> Plug.MIME.valid?("text/plain")
true
iex> Plug.MIME.valid?("foo/bar")
false