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 txt -> text/plain;charset=UTF-8 webm -> video/webm woff -> application/font-woff 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 the MIME type for the txt extension if no better alternative could be found. Note that this method is EXPERIMENTAL and might change without warning!
Content-Type
txt
These options are currently available:
ext => 'json'
File extension to get MIME type for.
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.
Accept
# 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. Note that this method is EXPERIMENTAL and might change without warning!
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.
To install Mojolicious, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Mojolicious
CPAN shell
perl -MCPAN -e shell install Mojolicious
For more information on module installation, please visit the detailed CPAN module installation guide.