NAME
Mojolicious::Types - MIME types
SYNOPSIS
use Mojolicious::Types;my $types = Mojolicious::Types->new;$types->type(foo => 'text/foo');say $types->type('foo');
DESCRIPTION
Mojolicious::Types manages MIME types for Mojolicious.
appcache -> text/cache-manifestatom -> application/atom+xmlbin -> application/octet-streamcss -> text/cssgif -> image/gifgz -> application/x-gziphtm -> text/htmlhtml -> text/html;charset=UTF-8ico -> image/x-iconjpeg -> image/jpegjpg -> image/jpegjs -> application/javascriptjson -> application/json;charset=UTF-8mp3 -> audio/mpegmp4 -> video/mp4ogg -> audio/oggogv -> video/oggpdf -> application/pdfpng -> image/pngrss -> application/rss+xmlsvg -> image/svg+xmlttf -> font/ttftxt -> text/plain;charset=UTF-8webm -> video/webmwoff -> font/woffwoff2 -> font/woff2xml -> application/xml,text/xmlzip -> application/zip
The most common ones are already defined.
ATTRIBUTES
Mojolicious::Types implements the following attributes.
mapping
my $mapping = $types->mapping;$types = $types->mapping({png => ['image/png']});
MIME type mapping.
METHODS
Mojolicious::Types inherits all methods from Mojo::Base and implements the following new ones.
content_type
$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.
detect
my $exts = $types->detect('text/html, application/json;q=9');
Detect file extensions from "Accept" header value.
# List detected extensions prioritizedsay for @{$types->detect('application/json, text/xml;q=0.1', 1)};
file_type
my $type = $types->file_type('foo/bar.png');
Get MIME type for file path.
type
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.
SEE ALSO
Mojolicious, Mojolicious::Guides, <https://mojolicious.org>.