]>
git.proxmox.com Git - pmg-api.git/blob - src/PMG/API2/MimeTypes.pm
2c1db5da664bf8e42127c5426f6788feb15da1b0
1 package PMG
::API2
::MimeTypes
;
8 use base
qw(PVE::RESTHandler);
12 my $load_mime_types = sub {
14 'message/delivery-status' => undef,
15 'message/disposition-notification' => undef,
16 'message/external-body' => undef,
17 'message/news' => undef,
18 'message/partial' => undef,
19 'message/rfc822' => undef,
20 'multipart/alternative' => undef,
21 'multipart/digest' => undef,
22 'multipart/encrypted' => undef,
23 'multipart/mixed' => undef,
24 'multipart/related' => undef,
25 'multipart/report' => undef,
26 'multipart/signed' => undef,
29 # get mimetypes out of /usr/share/mime/globs
31 open(DAT
, "/usr/share/mime/globs") ||
32 die ("Could not open file $!: ERROR");
34 while (my $row = <DAT
>) {
35 next if $row =~ m/^\#/;
37 if ($row =~ m/([A-Za-z0-9-_\.]*)\/([A-Za-z0-9-_\
+\
.]*):\
*\
.(\S
{1,10})\s
*$/) {
42 $m =~ s/\./\\\./g; # quote '.'
43 $m =~ s/\+/\\\+/g; # quote '+'
46 $mtypes->{"$m"} = $mtypes->{"$m"} ?
$mtypes->{"$m"} . ",$end" : $end;
52 # sort and add wildcard entries
55 foreach my $mt (sort (keys %$mtypes)) {
56 my ($type, $subtype) = split ('/', $mt);
58 if ($type ne $lasttype) {
59 push (@$mime, { mimetype
=> "$type/.*", text
=> "$type/.*"});
63 my $text = $mtypes->{$mt} ?
"$mt ($mtypes->{$mt})" : $mt;
65 push (@$mime, { mimetype
=> $mt, text
=> $text });
71 __PACKAGE__-
>register_method ({
75 description
=> "Get Mime Types List",
77 additionalProperties
=> 0,
84 mimetype
=> { type
=> 'string'},
85 text
=> { type
=> 'string' },