Server IP : 85.214.239.14 / Your IP : 18.219.46.37 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /proc/2/cwd/proc/2/cwd/proc/3/root/usr/share/perl5/MojoX/MIME/ |
Upload File : |
# Copyrights 1999-2022 by [Mark Overmeer <markov@cpan.org>]. # For other contributors see ChangeLog. # See the manual pages for details on the licensing terms. # Pod stripped from pm file by OODoc 2.03. # This code is part of distribution MIME::Types. Meta-POD processed with # OODoc into POD and HTML manual-pages. See README.md # Copyright Mark Overmeer. Licensed under the same terms as Perl itself. package MojoX::MIME::Types; use vars '$VERSION'; $VERSION = '2.24'; use Mojo::Base -base; use MIME::Types (); sub new(%) { # base new() constructor incorrect: should call init() my $self = shift->SUPER::new(@_); $self->{MMT_mt} = delete $self->{mime_types} || MIME::Types->new; $self; } #---------- sub mimeTypes() { shift->{MMT_mt} } sub mapping(;$) { my $self = shift; return $self->{MMT_ext} if $self->{MMT_ext}; my %exttable; my $t = MIME::Types->_MojoExtTable; while(my ($ext, $type) = each %$t) { $exttable{$ext} = [$type] } $self->{MMT_ext} = \%exttable; } *types = \&mapping; # renamed in release 6.0 #---------- sub detect($$;$) { my ($self, $accept, $prio) = @_; my $mt = $self->mimeTypes; my @ext = map $_->extensions, grep defined, map $mt->type($_), grep !/\*/, $mt->httpAccept($accept); \@ext; } sub type($;$) { my ($self, $ext, $types) = @_; my $mt = $self->mimeTypes; defined $types or return $mt->mimeTypeOf($ext); # stupid interface compatibility! $self; } sub file_type($) { my ($self, $fn) = @_; my $mt = $self->mimeTypes or return undef; $mt->mimeTypeOf($fn); } sub content_type($;$) { my ($self, $c, $opts) = @_; my $headers = $c->res->headers; return undef if $headers->content_type; my $fn = $opts->{file} || $opts->{ext}; my $mt = $self->mimeTypes or return undef; $headers->content_type($mt->mimeTypeOf($fn) || $mt->mimeTypeOf('txt')); } #--------------- 1;