1Mojolicious::Types(3) User Contributed Perl DocumentationMojolicious::Types(3)
2
3
4

NAME

6       Mojolicious::Types - MIME types
7

SYNOPSIS

9         use Mojolicious::Types;
10
11         my $types = Mojolicious::Types->new;
12         $types->type(foo => 'text/foo');
13         say $types->type('foo');
14

DESCRIPTION

16       Mojolicious::Types manages MIME types for Mojolicious.
17
18         appcache -> text/cache-manifest
19         atom     -> application/atom+xml
20         bin      -> application/octet-stream
21         css      -> text/css
22         gif      -> image/gif
23         gz       -> application/x-gzip
24         htm      -> text/html
25         html     -> text/html;charset=UTF-8
26         ico      -> image/x-icon
27         jpeg     -> image/jpeg
28         jpg      -> image/jpeg
29         js       -> application/javascript
30         json     -> application/json;charset=UTF-8
31         mp3      -> audio/mpeg
32         mp4      -> video/mp4
33         ogg      -> audio/ogg
34         ogv      -> video/ogg
35         pdf      -> application/pdf
36         png      -> image/png
37         rss      -> application/rss+xml
38         svg      -> image/svg+xml
39         txt      -> text/plain;charset=UTF-8
40         webm     -> video/webm
41         woff     -> font/woff
42         woff2    -> font/woff2
43         xml      -> application/xml,text/xml
44         zip      -> application/zip
45
46       The most common ones are already defined.
47

ATTRIBUTES

49       Mojolicious::Types implements the following attributes.
50
51   mapping
52         my $mapping = $types->mapping;
53         $types      = $types->mapping({png => ['image/png']});
54
55       MIME type mapping.
56

METHODS

58       Mojolicious::Types inherits all methods from Mojo::Base and implements
59       the following new ones.
60
61   content_type
62         $types->content_type(Mojolicious::Controller->new, {ext => 'json'});
63
64       Detect MIME type for Mojolicious::Controller object unless a
65       "Content-Type" response header has already been set, defaults to using
66       the MIME type for the "txt" extension if no better alternative could be
67       found. Note that this method is EXPERIMENTAL and might change without
68       warning!
69
70       These options are currently available:
71
72       ext
73           ext => 'json'
74
75         File extension to get MIME type for.
76
77       file
78           file => 'foo/bar.png'
79
80         File path to get MIME type for.
81
82   detect
83         my $exts = $types->detect('text/html, application/json;q=9');
84
85       Detect file extensions from "Accept" header value.
86
87         # List detected extensions prioritized
88         say for @{$types->detect('application/json, text/xml;q=0.1', 1)};
89
90   file_type
91         my $type = $types->file_type('foo/bar.png');
92
93       Get MIME type for file path. Note that this method is EXPERIMENTAL and
94       might change without warning!
95
96   type
97         my $type = $types->type('png');
98         $types   = $types->type(png => 'image/png');
99         $types   = $types->type(json => ['application/json', 'text/x-json']);
100
101       Get or set MIME types for file extension, alternatives are only used
102       for detection.
103

SEE ALSO

105       Mojolicious, Mojolicious::Guides, <https://mojolicious.org>.
106
107
108
109perl v5.30.0                      2019-07-26             Mojolicious::Types(3)
Impressum