NAME
HTTP::Promise::MIME - MIME Types and File Extension Class
SYNOPSIS
use HTTP::Promise::MIME;
my $m = HTTP::Promise::MIME->new ||
die( HTTP::Promise::MIME->error, "\n" );
# or you can specify your own mime.types data by providing a file
my $m = HTTP::Promise::MIME->new( '/etc/mime.types' ) ||
die( HTTP::Promise::MIME->error, "\n" );
my $mime = $m->mime_type( '/some/where/file.txt' ); # text/plain
my $mime = $m->mime_type_from_suffix( 'txt' ); # text/plain
my $ext = $m->suffix( 'application/pgp-signature' ); # asc
my @ext = $m->suffix( 'application/pgp-signature' ); # asc, sig
my $hash = $m->types;
VERSION
v0.1.0
DESCRIPTION
HTTP::Promise::MIME is a class to find out the mime type of a file or its suffix a.k.a. extension based on its mime type.
The database of mime types is stored internally, so there is no dependence on outside file. You can, however, specify an optional mime database file as the first parameter when instantiating a new object.
CONSTRUCTOR
new
Provided with an optional file path to a mime.types
database and this will return a new instance of HTTP::Promise::MIME
If an error occurred, it sets an error and returns undef
METHODS
dump
print( $m->dump );
This returns a string containing the mime types and their corresponding extensions in a format similar to that of mime.types
mime_type
Provided with a file path, and this returns the mime type of that file.
For example:
my $mime = $m->mime_type( '/some/where/file.txt' );
# $mime is text/plain
mime_type_from_suffix
Provided with a suffix, and this will return the equivalent mime type.
Example:
my $mime = $m->mime_type_from_suffix( 'txt' );
# $mime is text/plain
suffix
Provided with a mime type and this return the first suffix in scalar context or the list of sufixes found that mime type.
Example:
my $ext = $m->suffix( 'application/pgp-signature' );
# $ext is asc
my @ext = $m->suffix( 'application/pgp-signature' );
# @ext contains: asc and sig
types
Returns an hash object containing mime types with their corresponding array reference of suffixes.
There is no mime type without suffix.
The internal data is from Apache2 trunk
AUTHOR
Jacques Deguest <jack@deguest.jp>
SEE ALSO
Mozilla documentation, and other Mozilla documentation
HTTP::Promise, HTTP::Promise::Request, HTTP::Promise::Response, HTTP::Promise::Message, HTTP::Promise::Entity, HTTP::Promise::Headers, HTTP::Promise::Body, HTTP::Promise::Body::Form, HTTP::Promise::Body::Form::Data, HTTP::Promise::Body::Form::Field, HTTP::Promise::Status, HTTP::Promise::MIME, HTTP::Promise::Parser, HTTP::Promise::IO, HTTP::Promise::Stream, HTTP::Promise::Exception
COPYRIGHT & LICENSE
Copyright(c) 2022 DEGUEST Pte. Ltd.
All rights reserved This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.