Provided by: libmojolicious-perl_9.31+dfsg-1_all bug

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