Mojolicious::Types - MIME types

NAME  SYNOPSIS  DESCRIPTION  ATTRIBUTES  mapping  METHODS  content_type  detect  file_type  type  SEE ALSO 

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−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.

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 prioritized
say 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>.


Updated 2024-01-29 - jenkler.se | uex.se