Mojolicious::Types − MIME types
use
Mojolicious::Types;
my $types = Mojolicious::Types−>new;
$types−>type(foo => 'text/foo');
say $types−>type('foo');
Mojolicious::Types manages MIME types for Mojolicious.
appcache
−> text/cache−manifest
atom −> application/atom+xml
bin −> application/octet−stream
css −> text/css
gif −> image/gif
gz −> application/x−gzip
htm −> text/html
html −> text/html;charset=UTF−8
ico −> image/x−icon
jpeg −> image/jpeg
jpg −> image/jpeg
js −> application/javascript
json −> application/json;charset=UTF−8
mp3 −> audio/mpeg
mp4 −> video/mp4
ogg −> audio/ogg
ogv −> video/ogg
pdf −> application/pdf
png −> image/png
rss −> application/rss+xml
svg −> image/svg+xml
ttf −> font/ttf
txt −> text/plain;charset=UTF−8
webm −> video/webm
woff −> font/woff
woff2 −> font/woff2
xml −> application/xml,text/xml
zip −> application/zip
The most common ones are already defined.
Mojolicious::Types implements the following attributes.
my $mapping =
$types−>mapping;
$types = $types−>mapping({png =>
['image/png']});
MIME type mapping.
Mojolicious::Types inherits all methods from Mojo::Base and implements the following new ones.
$types−>content_type(Mojolicious::Controller−>new, {ext => 'json'});
Detect MIME type
for Mojolicious::Controller object unless a
"Content−Type" response header has already
been set, defaults to using
"application/octet−stream" if no better
alternative could be found. These options are currently
available:
ext
ext => 'json'
File extension to get MIME type for.
file
file => 'foo/bar.png'
File path to get MIME type for.
my $exts = $types−>detect('text/html, application/json;q=9');
Detect file extensions from "Accept" header value.
# List detected
extensions prioritized
say for @{$types−>detect('application/json,
text/xml;q=0.1', 1)};
my $type = $types−>file_type('foo/bar.png');
Get MIME type for file path.
my $type =
$types−>type('png');
$types = $types−>type(png => 'image/png');
$types = $types−>type(json =>
['application/json', 'text/x−json']);
Get or set MIME types for file extension, alternatives are only used for detection.
Mojolicious, Mojolicious::Guides, <https://mojolicious.org>.