The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Dancer::MIME - Singleton object to handle MimeTypes

SYNOPSIS

    # retrieve object instance
    my $mime = Data::MIME->instance();

    # return a hash reference of user defined types
    my $types = $mime->custom_types;

    # return the default mime-type for unknown files
    $mime->default

    # set the default mime-type with Dancer::Config or Dancer, like
    set default_mime_type => "text/plain";
    # or directly in your config.yml file.

    # add non standard mime type
    $mime->add_type( foo => "text/foo" );

    # add an alias to an existing type
    $mime->add_alias( bar => "foo" );

    # get mime type for standard or non standard types
    $nonstandard_type = $mime->for_name('foo');
    $standard_type    = $mime->for_name('svg');

    # get mime type for a file (given the extension)
    $mime_type = $mime->for_file("foo.bar");

PUBLIC API

instance

    my $mime = Dancer::MIME->instance();

return the Dancer::MIME instance object.

add_type

    # add nonstandard mime type
    $mime->add_type( foo => "text/foo" );

Add a non standard mime type or overrides an existing one.

add_alias

    # add alias to standard or previous alias
    $mime->add_alias( my_jpg => 'jpg' );

Adds an alias to an existing mime type.

for_name

    $mime->for_name( 'jpg' );

Retrieve the mime type for a standard or non standard mime type.

for_file

    $mime->for_file( 'file.jpg' );

Retrieve the mime type for a file, based on a file extension.

custom_types

    my $types = $mime->custom_types;

Retrieve the full hash table of added mime types.

name_or_type

    my $type = $mime->name_or_type($thing);

Resolves the $thing into a content $type whether it's the name of a MIME type like "txt" or already a mime type like "text/plain".

DEPRECATED API

add_mime_type

Check the new add method.

add_mime_alias

Check the new add method.

mime_type_for

Check the new for_name and name_or_type methods.

AUTHORS

This module has been written and rewritten by different people from Dancer project.

LICENCE

This module is released under the same terms as Perl itself.

SEE ALSO

Dancer