mime-types 1.15 → 1.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,12 +1,14 @@
1
+ # vim: ft=ruby encoding=utf-8
1
2
  #--
2
- # MIME::Types for Ruby
3
- # Version 1.15
3
+ # MIME::Types
4
+ # A Ruby implementation of a MIME Types information library. Based in spirit
5
+ # on the Perl MIME::Types information library by Mark Overmeer.
6
+ # http://rubyforge.org/projects/mime-types/
4
7
  #
5
- # Copyright (c) 2002 - 2004 Austin Ziegler
8
+ # Licensed under the Ruby disjunctive licence with the GNU GPL or the Perl
9
+ # Artistic licence. See Licence.txt for more information.
6
10
  #
7
- # $Id: types.rb,v 1.4 2006/02/12 21:27:22 austin Exp $
8
- #
9
- # The ChangeLog contains all details on revisions.
11
+ # Copyright 2003 - 2009 Austin Ziegler
10
12
  #++
11
13
 
12
14
  # The namespace for MIME applications, tools, and libraries.
@@ -33,19 +35,19 @@ module MIME
33
35
  # puts MIME::Type.simplified('x-appl/x-zip') # => 'appl/zip'
34
36
  #
35
37
  class Type
36
- VERSION = '1.15'
38
+ VERSION = '1.16'
37
39
 
38
40
  include Comparable
39
41
 
40
- MEDIA_TYPE_RE = %r{([-\w.+]+)/([-\w.+]*)}o #:nodoc:
41
- UNREG_RE = %r{[Xx]-}o #:nodoc:
42
- ENCODING_RE = %r{(?:base64|7bit|8bit|quoted\-printable)}o #:nodoc:
43
- PLATFORM_RE = %r|#{RUBY_PLATFORM}|o #:nodoc:
42
+ MEDIA_TYPE_RE = %r{([-\w.+]+)/([-\w.+]*)}o
43
+ UNREG_RE = %r{[Xx]-}o
44
+ ENCODING_RE = %r{(?:base64|7bit|8bit|quoted\-printable)}o
45
+ PLATFORM_RE = %r|#{RUBY_PLATFORM}|o
44
46
 
45
47
  SIGNATURES = %w(application/pgp-keys application/pgp
46
48
  application/pgp-signature application/pkcs10
47
49
  application/pkcs7-mime application/pkcs7-signature
48
- text/vcard) #:nodoc:
50
+ text/vcard)
49
51
 
50
52
  IANA_URL = "http://www.iana.org/assignments/media-types/%s/%s"
51
53
  RFC_URL = "http://rfc-editor.org/rfc/rfc%s.txt"
@@ -64,8 +66,9 @@ module MIME
64
66
 
65
67
  # Compares the MIME::Type against the exact content type or the
66
68
  # simplified type (the simplified type will be used if comparing against
67
- # something that can be treated as a String with #to_s).
68
- def <=>(other) #:nodoc:
69
+ # something that can be treated as a String with #to_s). In comparisons,
70
+ # this is done against the lowercase version of the MIME::Type.
71
+ def <=>(other)
69
72
  if other.respond_to?(:content_type)
70
73
  @content_type.downcase <=> other.content_type.downcase
71
74
  elsif other.respond_to?(:to_s)
@@ -75,9 +78,53 @@ module MIME
75
78
  end
76
79
  end
77
80
 
81
+ # Compares the MIME::Type based on how reliable it is before doing a
82
+ # normal <=> comparison. Used by MIME::Types#[] to sort types. The
83
+ # comparisons involved are:
84
+ #
85
+ # 1. self.simplified <=> other.simplified (ensures that we
86
+ # don't try to compare different types)
87
+ # 2. IANA-registered definitions > other definitions.
88
+ # 3. Generic definitions > platform definitions.
89
+ # 3. Complete definitions > incomplete definitions.
90
+ # 4. Current definitions > obsolete definitions.
91
+ # 5. Obselete with use-instead references > obsolete without.
92
+ # 6. Obsolete use-instead definitions are compared.
93
+ def priority_compare(other)
94
+ pc = simplified <=> other.simplified
95
+
96
+ if pc.zero? and registered? != other.registered?
97
+ pc = registered? ? -1 : 1
98
+ end
99
+
100
+ if pc.zero? and platform? != other.platform?
101
+ pc = platform? ? 1 : -1
102
+ end
103
+
104
+ if pc.zero? and complete? != other.complete?
105
+ pc = complete? ? -1 : 1
106
+ end
107
+
108
+ if pc.zero? and obsolete? != other.obsolete?
109
+ pc = obsolete? ? 1 : -1
110
+ end
111
+
112
+ if pc.zero? and obsolete? and (use_instead != other.use_instead)
113
+ pc = if use_instead.nil?
114
+ -1
115
+ elsif other.use_instead.nil?
116
+ 1
117
+ else
118
+ use_instead <=> other.use_instead
119
+ end
120
+ end
121
+
122
+ pc
123
+ end
124
+
78
125
  # Returns +true+ if the other object is a MIME::Type and the content
79
126
  # types match.
80
- def eql?(other) #:nodoc:
127
+ def eql?(other)
81
128
  other.kind_of?(MIME::Type) and self == other
82
129
  end
83
130
 
@@ -121,7 +168,7 @@ module MIME
121
168
  attr_accessor :extensions
122
169
  remove_method :extensions= ;
123
170
  def extensions=(ext) #:nodoc:
124
- @extensions = ext.to_a.flatten.compact
171
+ @extensions = [ext].flatten.compact
125
172
  end
126
173
 
127
174
  # The encoding (7bit, 8bit, quoted-printable, or base64) required to
@@ -197,9 +244,11 @@ module MIME
197
244
  @use_instead = a.map { |el| "#{el[0]}/#{el[1]}" }
198
245
  end
199
246
  end
247
+ @docs = d
200
248
  end
201
249
 
202
- # The encoded URL list for this MIME::Type. See #urls for
250
+ # The encoded URL list for this MIME::Type. See #urls for more
251
+ # information.
203
252
  attr_accessor :url
204
253
  # The decoded URL list for this MIME::Type.
205
254
  # The special URL value IANA will be translated into:
@@ -218,10 +267,10 @@ module MIME
218
267
  # The special URL value [token] will be translated into:
219
268
  # http://www.iana.org/assignments/contact-people.htm#<token>
220
269
  #
221
- # These values will be accessible through #url, which always returns an
270
+ # These values will be accessible through #urls, which always returns an
222
271
  # array.
223
272
  def urls
224
- @url.map { |el|
273
+ @url.map do |el|
225
274
  case el
226
275
  when %r{^IANA$}
227
276
  IANA_URL % [ @media_type, @sub_type ]
@@ -231,12 +280,16 @@ module MIME
231
280
  DRAFT_URL % $1
232
281
  when %r{^LTSW$}
233
282
  LTSW_URL % @media_type
283
+ when %r<^\{([^=]+)=([^\]]+)\}>
284
+ [$1, $2]
285
+ when %r{^\[([^=]+)=([^\]]+)\]}
286
+ [$1, CONTACT_URL % $2]
234
287
  when %r{^\[([^\]]+)\]}
235
288
  CONTACT_URL % $1
236
289
  else
237
290
  el
238
291
  end
239
- }
292
+ end
240
293
  end
241
294
 
242
295
  class << self
@@ -318,7 +371,7 @@ module MIME
318
371
  def from_hash(hash) #:yields MIME::Type.new:
319
372
  type = {}
320
373
  hash.each_pair do |k, v|
321
- type[k.to_s.tr('-A-Z', '_a-z').to_sym] = v
374
+ type[k.to_s.tr('A-Z', 'a-z').gsub(/-/, '_').to_sym] = v
322
375
  end
323
376
 
324
377
  m = MIME::Type.new(type[:content_type]) do |t|
@@ -348,9 +401,17 @@ module MIME
348
401
  # end
349
402
  def from_mime_type(mime_type) #:yields the new MIME::Type:
350
403
  m = MIME::Type.new(mime_type.content_type.dup) do |t|
351
- t.extensions = mime_type.extensions.dup
352
- t.system = mime_type.system.dup
353
- t.encoding = mime_type.encoding.dup
404
+ t.extensions = mime_type.extensions.map { |e| e.dup }
405
+ t.url = mime_type.url && mime_type.url.map { |e| e.dup }
406
+
407
+ mime_type.system && t.system = mime_type.system.dup
408
+ mime_type.encoding && t.encoding = mime_type.encoding.dup
409
+
410
+ t.obsolete = mime_type.obsolete?
411
+ t.registered = mime_type.registered?
412
+
413
+ mime_type.docs && t.docs = mime_type.docs.dup
414
+
354
415
  end
355
416
 
356
417
  yield m if block_given?
@@ -381,6 +442,9 @@ module MIME
381
442
  self.encoding = :default
382
443
  self.system = nil
383
444
  self.registered = true
445
+ self.url = nil
446
+ self.obsolete = nil
447
+ self.docs = nil
384
448
 
385
449
  yield self if block_given?
386
450
  end
@@ -511,12 +575,12 @@ module MIME
511
575
  # This is originally based on Perl MIME::Types by Mark Overmeer.
512
576
  #
513
577
  # = Author
514
- # Copyright:: Copyright (c) 2002 - 2006 by Austin Ziegler
578
+ # Copyright:: Copyright (c) 2002 - 2009 by Austin Ziegler
515
579
  # <austin@rubyforge.org>
516
- # Version:: 1.15
580
+ # Version:: 1.16
517
581
  # Based On:: Perl
518
- # MIME::Types[http://search.cpan.org/author/MARKOV/MIME-Types-1.15/MIME/Types.pm],
519
- # Copyright (c) 2001 - 2005 by Mark Overmeer
582
+ # MIME::Types[http://search.cpan.org/author/MARKOV/MIME-Types-1.27/MIME/Types.pm],
583
+ # Copyright (c) 2001 - 2009 by Mark Overmeer
520
584
  # <mimetypes@overmeer.net>.
521
585
  # Licence:: Ruby's, Perl Artistic, or GPL version 2 (or later)
522
586
  # See Also:: http://www.iana.org/assignments/media-types/
@@ -524,7 +588,7 @@ module MIME
524
588
  #
525
589
  class Types
526
590
  # The released version of Ruby MIME::Types
527
- VERSION = '1.15'
591
+ VERSION = '1.16'
528
592
 
529
593
  # The data version.
530
594
  attr_reader :data_version
@@ -558,6 +622,18 @@ module MIME
558
622
  # MIME::Types[/^image/, :complete => true].each do |t|
559
623
  # puts t.to_a.join(", ")
560
624
  # end
625
+ #
626
+ # If multiple type definitions are returned, returns them sorted as
627
+ # follows:
628
+ # 1. Complete definitions sort before incomplete ones;
629
+ # 2. IANA-registered definitions sort before LTSW-recorded
630
+ # definitions.
631
+ # 3. Generic definitions sort before platform-specific ones;
632
+ # 4. Current definitions sort before obsolete ones;
633
+ # 5. Obsolete definitions with use-instead clauses sort before those
634
+ # without;
635
+ # 6. Obsolete definitions use-instead clauses are compared.
636
+ # 7. Sort on name.
561
637
  def [](type_id, flags = {})
562
638
  if type_id.kind_of?(Regexp)
563
639
  matches = []
@@ -573,7 +649,8 @@ module MIME
573
649
 
574
650
  matches.delete_if { |e| not e.complete? } if flags[:complete]
575
651
  matches.delete_if { |e| not e.platform? } if flags[:platform]
576
- matches
652
+
653
+ matches.sort { |a, b| a.priority_compare(b) }
577
654
  end
578
655
 
579
656
  # Return the list of MIME::Types which belongs to the file based on its
@@ -614,7 +691,7 @@ module MIME
614
691
  end
615
692
  end
616
693
 
617
- class <<self
694
+ class << self
618
695
  def add_type_variant(mime_type) #:nodoc:
619
696
  @__types__.add_type_variant(mime_type)
620
697
  end
@@ -671,888 +748,4 @@ module MIME
671
748
  end
672
749
  end
673
750
 
674
- # Build the type list
675
- data_mime_type = <<MIME_TYPES
676
- # What follows is the compiled list of known media types, IANA-registered
677
- # ones first, one per line.
678
- #
679
- # [*][!][os:]mt/st[<ws>@ext][<ws>:enc][<ws>'url-list][<ws>=docs]
680
- #
681
- # == *
682
- # An unofficial MIME type. This should be used if an only if the MIME type
683
- # is not properly specified.
684
- #
685
- # == !
686
- # An obsolete MIME type.
687
- #
688
- # == os:
689
- # Platform-specific MIME type definition.
690
- #
691
- # == mt
692
- # The media type.
693
- #
694
- # == st
695
- # The media subtype.
696
- #
697
- # == <ws>@ext
698
- # The list of comma-separated extensions.
699
- #
700
- # == <ws>:enc
701
- # The encoding.
702
- #
703
- # == <ws>'url-list
704
- # The list of comma-separated URLs.
705
- #
706
- # == <ws>=docs
707
- # The documentation string.
708
- #
709
- # That is, everything except the media type and the subtype is optional.
710
- #
711
- # -- Austin Ziegler, 2006.02.12
712
-
713
- # Registered: application/*
714
- !application/xhtml-voice+xml 'DRAFT:draft-mccobb-xplusv-media-type
715
- application/CSTAdata+xml 'IANA,[Ecma International Helpdesk]
716
- application/EDI-Consent 'RFC1767
717
- application/EDI-X12 'RFC1767
718
- application/EDIFACT 'RFC1767
719
- application/activemessage 'IANA,[Shapiro]
720
- application/andrew-inset 'IANA,[Borenstein]
721
- application/applefile :base64 'IANA,[Faltstrom]
722
- application/atom+xml 'RFC4287
723
- application/atomicmail 'IANA,[Borenstein]
724
- application/batch-SMTP 'RFC2442
725
- application/beep+xml 'RFC3080
726
- application/cals-1840 'RFC1895
727
- application/ccxml+xml 'DRAFT:draft-froumentin-voice-mediatypes
728
- application/cnrp+xml 'RFCCNRP
729
- application/commonground 'IANA,[Glazer]
730
- application/conference-info+xml 'DRAFT:draft-ietf-sipping-conference-package
731
- application/cpl+xml 'RFC3880
732
- application/csta+xml 'IANA,[Ecma International Helpdesk]
733
- application/cybercash 'IANA,[Eastlake]
734
- application/dca-rft 'IANA,[Campbell]
735
- application/dec-dx 'IANA,[Campbell]
736
- application/dialog-info+xml 'DRAFT:draft-ietf-sipping-dialog-package
737
- application/dicom 'RFC3240
738
- application/dns 'RFC4027
739
- application/dvcs 'RFC3029
740
- application/ecmascript 'DRAFT:draft-hoehrmann-script-types
741
- application/epp+xml 'RFC3730
742
- application/eshop 'IANA,[Katz]
743
- application/fastinfoset 'IANA,[ITU-T ASN.1 Rapporteur]
744
- application/fastsoap 'IANA,[ITU-T ASN.1 Rapporteur]
745
- application/fits 'RFC4047
746
- application/font-tdpfr @pfr 'RFC3073
747
- application/http 'RFC2616
748
- application/hyperstudio @stk 'IANA,[Domino]
749
- application/iges 'IANA,[Parks]
750
- application/im-iscomposing+xml 'RFC3994
751
- application/index 'RFC2652
752
- application/index.cmd 'RFC2652
753
- application/index.obj 'RFC2652
754
- application/index.response 'RFC2652
755
- application/index.vnd 'RFC2652
756
- application/iotp 'RFC2935
757
- application/ipp 'RFC2910
758
- application/isup 'RFC3204
759
- application/javascript 'DRAFT:draft-hoehrmann-script-types
760
- application/kpml-request+xml 'DRAFT:draft-ietf-sipping-kpml
761
- application/kpml-response+xml 'DRAFT:draft-ietf-sipping-kpml
762
- application/mac-binhex40 @hqx :8bit 'IANA,[Faltstrom]
763
- application/macwriteii 'IANA,[Lindner]
764
- application/marc 'RFC2220
765
- application/mathematica 'IANA,[Van Nostern]
766
- application/mbox 'DRAFT:draft-hall-mime-app-mbox
767
- application/mikey 'RFC3830
768
- application/mp4 'DRAFT:draft-lim-mpeg4-mime
769
- application/mpeg4-generic 'RFC3640
770
- application/mpeg4-iod 'DRAFT:draft-lim-mpeg4-mime
771
- application/mpeg4-iod-xmt 'DRAFT:draft-lim-mpeg4-mime
772
- application/msword @doc,dot :base64 'IANA,[Lindner]
773
- application/news-message-id 'RFC1036,[Spencer]
774
- application/news-transmission 'RFC1036,[Spencer]
775
- application/nss 'IANA,[Hammer]
776
- application/ocsp-request 'RFC2560
777
- application/ocsp-response 'RFC2560
778
- application/octet-stream @bin,dms,lha,lzh,exe,class,ani,pgp :base64 'RFC2045,RFC2046
779
- application/oda @oda 'RFC2045,RFC2046
780
- application/ogg @ogg 'RFC3534
781
- application/parityfec 'RFC3009
782
- application/pdf @pdf :base64 'RFC3778
783
- application/pgp-encrypted :7bit 'RFC3156
784
- application/pgp-keys :7bit 'RFC3156
785
- application/pgp-signature @sig :base64 'RFC3156
786
- application/pidf+xml 'IANA,RFC3863
787
- application/pkcs10 @p10 'RFC2311
788
- application/pkcs7-mime @p7m,p7c 'RFC2311
789
- application/pkcs7-signature @p7s 'RFC2311
790
- application/pkix-cert @cer 'RFC2585
791
- application/pkix-crl @crl 'RFC2585
792
- application/pkix-pkipath @pkipath 'DRAFT:draft-ietf-tls-rfc3546bis
793
- application/pkixcmp @pki 'RFC2510
794
- application/pls+xml 'DRAFT:draft-froumentin-voice-mediatypes
795
- application/poc-settings+xml 'DRAFT:draft-garcia-sipping-poc-isb-am
796
- application/postscript @ai,eps,ps :8bit 'RFC2045,RFC2046
797
- application/prs.alvestrand.titrax-sheet 'IANA,[Alvestrand]
798
- application/prs.cww @cw,cww 'IANA,[Rungchavalnont]
799
- application/prs.nprend @rnd,rct 'IANA,[Doggett]
800
- application/prs.plucker 'IANA,[Janssen]
801
- application/qsig 'RFC3204
802
- application/rdf+xml @rdf 'RFC3870
803
- application/reginfo+xml 'RFC3680
804
- application/remote-printing 'IANA,RFC1486,[Rose]
805
- application/resource-lists+xml 'DRAFT:draft-ietf-simple-xcap-list-usage
806
- application/riscos 'IANA,[Smith]
807
- application/rlmi+xml 'DRAFT:draft-ietf-simple-event-list
808
- application/rls-services+xml 'DRAFT:draft-ietf-simple-xcap-list-usage
809
- application/rtf @rtf 'IANA,[Lindner]
810
- application/rtx 'DRAFT:draft-ietf-avt-rtp-retransmission
811
- application/samlassertion+xml 'IANA,[OASIS Security Services Technical Committee (SSTC)]
812
- application/samlmetadata+xml 'IANA,[OASIS Security Services Technical Committee (SSTC)]
813
- application/sbml+xml 'RFC3823
814
- application/sdp 'RFC2327
815
- application/set-payment 'IANA,[Korver]
816
- application/set-payment-initiation 'IANA,[Korver]
817
- application/set-registration 'IANA,[Korver]
818
- application/set-registration-initiation 'IANA,[Korver]
819
- application/sgml @sgml 'RFC1874
820
- application/sgml-open-catalog @soc 'IANA,[Grosso]
821
- application/shf+xml 'RFC4194
822
- application/sieve @siv 'RFC3028
823
- application/simple-filter+xml 'DRAFT:draft-ietf-simple-filter-format
824
- application/simple-message-summary 'RFC3842
825
- application/slate 'IANA,[Crowley]
826
- application/soap+fastinfoset 'IANA,[ITU-T ASN.1 Rapporteur]
827
- application/soap+xml 'RFC3902
828
- application/spirits-event+xml 'RFC3910
829
- application/srgs 'DRAFT:draft-froumentin-voice-mediatypes
830
- application/srgs+xml 'DRAFT:draft-froumentin-voice-mediatypes
831
- application/ssml+xml 'DRAFT:draft-froumentin-voice-mediatypes
832
- application/timestamp-query 'RFC3161
833
- application/timestamp-reply 'RFC3161
834
- application/tve-trigger 'IANA,[Welsh]
835
- application/vemmi 'RFC2122
836
- application/vnd.3M.Post-it-Notes 'IANA,[O'Brien]
837
- application/vnd.3gpp.pic-bw-large @plb 'IANA,[Meredith]
838
- application/vnd.3gpp.pic-bw-small @psb 'IANA,[Meredith]
839
- application/vnd.3gpp.pic-bw-var @pvb 'IANA,[Meredith]
840
- application/vnd.3gpp.sms @sms 'IANA,[Meredith]
841
- application/vnd.FloGraphIt 'IANA,[Floersch]
842
- application/vnd.Kinar @kne,knp,sdf 'IANA,[Thakkar]
843
- application/vnd.Mobius.DAF 'IANA,[Kabayama]
844
- application/vnd.Mobius.DIS 'IANA,[Kabayama]
845
- application/vnd.Mobius.MBK 'IANA,[Devasia]
846
- application/vnd.Mobius.MQY 'IANA,[Devasia]
847
- application/vnd.Mobius.MSL 'IANA,[Kabayama]
848
- application/vnd.Mobius.PLC 'IANA,[Kabayama]
849
- application/vnd.Mobius.TXF 'IANA,[Kabayama]
850
- application/vnd.Quark.QuarkXPress @qxd,qxt,qwd,qwt,qxl,qxb :8bit 'IANA,[Scheidler]
851
- application/vnd.RenLearn.rlprint 'IANA,[Wick]
852
- application/vnd.accpac.simply.aso 'IANA,[Leow]
853
- application/vnd.accpac.simply.imp 'IANA,[Leow]
854
- application/vnd.acucobol 'IANA,[Lubin]
855
- application/vnd.acucorp @atc,acutc :7bit 'IANA,[Lubin]
856
- application/vnd.adobe.xfdf @xfdf 'IANA,[Perelman]
857
- application/vnd.aether.imp 'IANA,[Moskowitz]
858
- application/vnd.amiga.ami @ami 'IANA,[Blumberg]
859
- application/vnd.apple.installer+xml 'IANA,[Bierman]
860
- application/vnd.audiograph 'IANA,[Slusanschi]
861
- application/vnd.autopackage 'IANA,[Hearn]
862
- application/vnd.blueice.multipass @mpm 'IANA,[Holmstrom]
863
- application/vnd.bmi 'IANA,[Gotoh]
864
- application/vnd.businessobjects 'IANA,[Imoucha]
865
- application/vnd.cinderella @cdy 'IANA,[Kortenkamp]
866
- application/vnd.claymore 'IANA,[Simpson]
867
- application/vnd.commerce-battelle 'IANA,[Applebaum]
868
- application/vnd.commonspace 'IANA,[Chandhok]
869
- application/vnd.contact.cmsg 'IANA,[Patz]
870
- application/vnd.cosmocaller @cmc 'IANA,[Dellutri]
871
- application/vnd.criticaltools.wbs+xml @wbs 'IANA,[Spiller]
872
- application/vnd.ctc-posml 'IANA,[Kohlhepp]
873
- application/vnd.cups-postscript 'IANA,[Sweet]
874
- application/vnd.cups-raster 'IANA,[Sweet]
875
- application/vnd.cups-raw 'IANA,[Sweet]
876
- application/vnd.curl @curl 'IANA,[Byrnes]
877
- application/vnd.cybank 'IANA,[Helmee]
878
- application/vnd.data-vision.rdz @rdz 'IANA,[Fields]
879
- application/vnd.dna 'IANA,[Searcy]
880
- application/vnd.dpgraph 'IANA,[Parker]
881
- application/vnd.dreamfactory @dfac 'IANA,[Appleton]
882
- application/vnd.dxr 'IANA,[Duffy]
883
- application/vnd.ecdis-update 'IANA,[Buettgenbach]
884
- application/vnd.ecowin.chart 'IANA,[Olsson]
885
- application/vnd.ecowin.filerequest 'IANA,[Olsson]
886
- application/vnd.ecowin.fileupdate 'IANA,[Olsson]
887
- application/vnd.ecowin.series 'IANA,[Olsson]
888
- application/vnd.ecowin.seriesrequest 'IANA,[Olsson]
889
- application/vnd.ecowin.seriesupdate 'IANA,[Olsson]
890
- application/vnd.enliven 'IANA,[Santinelli]
891
- application/vnd.epson.esf 'IANA,[Hoshina]
892
- application/vnd.epson.msf 'IANA,[Hoshina]
893
- application/vnd.epson.quickanime 'IANA,[Gu]
894
- application/vnd.epson.salt 'IANA,[Nagatomo]
895
- application/vnd.epson.ssf 'IANA,[Hoshina]
896
- application/vnd.ericsson.quickcall 'IANA,[Tidwell]
897
- application/vnd.eudora.data 'IANA,[Resnick]
898
- application/vnd.fdf 'IANA,[Zilles]
899
- application/vnd.ffsns 'IANA,[Holstage]
900
- application/vnd.fints 'IANA,[Hammann]
901
- application/vnd.fluxtime.clip 'IANA,[Winter]
902
- application/vnd.framemaker 'IANA,[Wexler]
903
- application/vnd.fsc.weblaunch @fsc :7bit 'IANA,[D.Smith]
904
- application/vnd.fujitsu.oasys 'IANA,[Togashi]
905
- application/vnd.fujitsu.oasys2 'IANA,[Togashi]
906
- application/vnd.fujitsu.oasys3 'IANA,[Okudaira]
907
- application/vnd.fujitsu.oasysgp 'IANA,[Sugimoto]
908
- application/vnd.fujitsu.oasysprs 'IANA,[Ogita]
909
- application/vnd.fujixerox.ddd 'IANA,[Onda]
910
- application/vnd.fujixerox.docuworks 'IANA,[Taguchi]
911
- application/vnd.fujixerox.docuworks.binder 'IANA,[Matsumoto]
912
- application/vnd.fut-misnet 'IANA,[Pruulmann]
913
- application/vnd.genomatix.tuxedo @txd 'IANA,[Frey]
914
- application/vnd.grafeq 'IANA,[Tupper]
915
- application/vnd.groove-account 'IANA,[Joseph]
916
- application/vnd.groove-help 'IANA,[Joseph]
917
- application/vnd.groove-identity-message 'IANA,[Joseph]
918
- application/vnd.groove-injector 'IANA,[Joseph]
919
- application/vnd.groove-tool-message 'IANA,[Joseph]
920
- application/vnd.groove-tool-template 'IANA,[Joseph]
921
- application/vnd.groove-vcard 'IANA,[Joseph]
922
- application/vnd.hbci @hbci,hbc,kom,upa,pkd,bpd 'IANA,[Hammann]
923
- application/vnd.hcl-bireports 'IANA,[Serres]
924
- application/vnd.hhe.lesson-player @les 'IANA,[Jones]
925
- application/vnd.hp-HPGL @plt,hpgl 'IANA,[Pentecost]
926
- application/vnd.hp-PCL 'IANA,[Pentecost]
927
- application/vnd.hp-PCLXL 'IANA,[Pentecost]
928
- application/vnd.hp-hpid 'IANA,[Gupta]
929
- application/vnd.hp-hps 'IANA,[Aubrey]
930
- application/vnd.httphone 'IANA,[Lefevre]
931
- application/vnd.hzn-3d-crossword 'IANA,[Minnis]
932
- application/vnd.ibm.MiniPay 'IANA,[Herzberg]
933
- application/vnd.ibm.afplinedata 'IANA,[Buis]
934
- application/vnd.ibm.electronic-media @emm 'IANA,[Tantlinger]
935
- application/vnd.ibm.modcap 'IANA,[Hohensee]
936
- application/vnd.ibm.rights-management @irm 'IANA,[Tantlinger]
937
- application/vnd.ibm.secure-container @sc 'IANA,[Tantlinger]
938
- application/vnd.informix-visionary 'IANA,[Gales]
939
- application/vnd.intercon.formnet 'IANA,[Gurak]
940
- application/vnd.intertrust.digibox 'IANA,[Tomasello]
941
- application/vnd.intertrust.nncp 'IANA,[Tomasello]
942
- application/vnd.intu.qbo 'IANA,[Scratchley]
943
- application/vnd.intu.qfx 'IANA,[Scratchley]
944
- application/vnd.ipunplugged.rcprofile @rcprofile 'IANA,[Ersson]
945
- application/vnd.irepository.package+xml @irp 'IANA,[Knowles]
946
- application/vnd.is-xpr 'IANA,[Natarajan]
947
- application/vnd.japannet-directory-service 'IANA,[Fujii]
948
- application/vnd.japannet-jpnstore-wakeup 'IANA,[Yoshitake]
949
- application/vnd.japannet-payment-wakeup 'IANA,[Fujii]
950
- application/vnd.japannet-registration 'IANA,[Yoshitake]
951
- application/vnd.japannet-registration-wakeup 'IANA,[Fujii]
952
- application/vnd.japannet-setstore-wakeup 'IANA,[Yoshitake]
953
- application/vnd.japannet-verification 'IANA,[Yoshitake]
954
- application/vnd.japannet-verification-wakeup 'IANA,[Fujii]
955
- application/vnd.jisp @jisp 'IANA,[Deckers]
956
- application/vnd.kahootz 'IANA,[Macdonald]
957
- application/vnd.kde.karbon @karbon 'IANA,[Faure]
958
- application/vnd.kde.kchart @chrt 'IANA,[Faure]
959
- application/vnd.kde.kformula @kfo 'IANA,[Faure]
960
- application/vnd.kde.kivio @flw 'IANA,[Faure]
961
- application/vnd.kde.kontour @kon 'IANA,[Faure]
962
- application/vnd.kde.kpresenter @kpr,kpt 'IANA,[Faure]
963
- application/vnd.kde.kspread @ksp 'IANA,[Faure]
964
- application/vnd.kde.kword @kwd,kwt 'IANA,[Faure]
965
- application/vnd.kenameaapp @htke 'IANA,[DiGiorgio-Haag]
966
- application/vnd.kidspiration @kia 'IANA,[Bennett]
967
- application/vnd.koan 'IANA,[Cole]
968
- application/vnd.liberty-request+xml 'IANA,[McDowell]
969
- application/vnd.llamagraphics.life-balance.desktop @lbd 'IANA,[White]
970
- application/vnd.llamagraphics.life-balance.exchange+xml @lbe 'IANA,[White]
971
- application/vnd.lotus-1-2-3 @wks,123 'IANA,[Wattenberger]
972
- application/vnd.lotus-approach 'IANA,[Wattenberger]
973
- application/vnd.lotus-freelance 'IANA,[Wattenberger]
974
- application/vnd.lotus-notes 'IANA,[Laramie]
975
- application/vnd.lotus-organizer 'IANA,[Wattenberger]
976
- application/vnd.lotus-screencam 'IANA,[Wattenberger]
977
- application/vnd.lotus-wordpro 'IANA,[Wattenberger]
978
- application/vnd.marlin.drm.mdcf 'IANA,[Ellison]
979
- application/vnd.mcd @mcd 'IANA,[Gotoh]
980
- application/vnd.mediastation.cdkey 'IANA,[Flurry]
981
- application/vnd.meridian-slingshot 'IANA,[Wedel]
982
- application/vnd.mfmp @mfm 'IANA,[Ikeda]
983
- application/vnd.micrografx.flo @flo 'IANA,[Prevo]
984
- application/vnd.micrografx.igx @igx 'IANA,[Prevo]
985
- application/vnd.mif @mif 'IANA,[Wexler]
986
- application/vnd.minisoft-hp3000-save 'IANA,[Bartram]
987
- application/vnd.mitsubishi.misty-guard.trustweb 'IANA,[Tanaka]
988
- application/vnd.mophun.application @mpn 'IANA,[Wennerstrom]
989
- application/vnd.mophun.certificate @mpc 'IANA,[Wennerstrom]
990
- application/vnd.motorola.flexsuite 'IANA,[Patton]
991
- application/vnd.motorola.flexsuite.adsi 'IANA,[Patton]
992
- application/vnd.motorola.flexsuite.fis 'IANA,[Patton]
993
- application/vnd.motorola.flexsuite.gotap 'IANA,[Patton]
994
- application/vnd.motorola.flexsuite.kmr 'IANA,[Patton]
995
- application/vnd.motorola.flexsuite.ttc 'IANA,[Patton]
996
- application/vnd.motorola.flexsuite.wem 'IANA,[Patton]
997
- application/vnd.mozilla.xul+xml @xul 'IANA,[McDaniel]
998
- application/vnd.ms-artgalry @cil 'IANA,[Slawson]
999
- application/vnd.ms-asf @asf 'IANA,[Fleischman]
1000
- application/vnd.ms-cab-compressed @cab 'IANA,[Scarborough]
1001
- application/vnd.ms-excel @xls,xlt :base64 'IANA,[Gill]
1002
- application/vnd.ms-fontobject 'IANA,[Scarborough]
1003
- application/vnd.ms-ims 'IANA,[Ledoux]
1004
- application/vnd.ms-lrm @lrm 'IANA,[Ledoux]
1005
- application/vnd.ms-powerpoint @ppt,pps,pot :base64 'IANA,[Gill]
1006
- application/vnd.ms-project @mpp :base64 'IANA,[Gill]
1007
- application/vnd.ms-tnef :base64 'IANA,[Gill]
1008
- application/vnd.ms-works :base64 'IANA,[Gill]
1009
- application/vnd.ms-wpl @wpl :base64 'IANA,[Plastina]
1010
- application/vnd.mseq @mseq 'IANA,[Le Bodic]
1011
- application/vnd.msign 'IANA,[Borcherding]
1012
- application/vnd.music-niff 'IANA,[Butler]
1013
- application/vnd.musician 'IANA,[Adams]
1014
- application/vnd.nervana @ent,entity,req,request,bkm,kcm 'IANA,[Judkins]
1015
- application/vnd.netfpx 'IANA,[Mutz]
1016
- application/vnd.noblenet-directory 'IANA,[Solomon]
1017
- application/vnd.noblenet-sealer 'IANA,[Solomon]
1018
- application/vnd.noblenet-web 'IANA,[Solomon]
1019
- application/vnd.nokia.landmark+wbxml 'IANA,[Nokia]
1020
- application/vnd.nokia.landmark+xml 'IANA,[Nokia]
1021
- application/vnd.nokia.landmarkcollection+xml 'IANA,[Nokia]
1022
- application/vnd.nokia.radio-preset @rpst 'IANA,[Nokia]
1023
- application/vnd.nokia.radio-presets @rpss 'IANA,[Nokia]
1024
- application/vnd.novadigm.EDM 'IANA,[Swenson]
1025
- application/vnd.novadigm.EDX 'IANA,[Swenson]
1026
- application/vnd.novadigm.EXT 'IANA,[Swenson]
1027
- application/vnd.obn 'IANA,[Hessling]
1028
- application/vnd.omads-email+xml 'IANA,[OMA Data Synchronization Working Group]
1029
- application/vnd.omads-file+xml 'IANA,[OMA Data Synchronization Working Group]
1030
- application/vnd.omads-folder+xml 'IANA,[OMA Data Synchronization Working Group]
1031
- application/vnd.osa.netdeploy 'IANA,[Klos]
1032
- application/vnd.osgi.dp 'IANA,[Kriens]
1033
- application/vnd.palm @prc,pdb,pqa,oprc :base64 'IANA,[Peacock]
1034
- application/vnd.paos.xml 'IANA,[Kemp]
1035
- application/vnd.pg.format 'IANA,[Gandert]
1036
- application/vnd.pg.osasli 'IANA,[Gandert]
1037
- application/vnd.piaccess.application-licence 'IANA,[Maneos]
1038
- application/vnd.picsel @efif 'IANA,[Naccarato]
1039
- application/vnd.powerbuilder6 'IANA,[Guy]
1040
- application/vnd.powerbuilder6-s 'IANA,[Guy]
1041
- application/vnd.powerbuilder7 'IANA,[Shilts]
1042
- application/vnd.powerbuilder7-s 'IANA,[Shilts]
1043
- application/vnd.powerbuilder75 'IANA,[Shilts]
1044
- application/vnd.powerbuilder75-s 'IANA,[Shilts]
1045
- application/vnd.preminet 'IANA,[Tenhunen]
1046
- application/vnd.previewsystems.box 'IANA,[Smolgovsky]
1047
- application/vnd.proteus.magazine 'IANA,[Hoch]
1048
- application/vnd.publishare-delta-tree 'IANA,[Ben-Kiki]
1049
- application/vnd.pvi.ptid1 @pti,ptid 'IANA,[Lamb]
1050
- application/vnd.pwg-multiplexed 'RFC3391
1051
- application/vnd.pwg-xhtml-print+xml 'IANA,[Wright]
1052
- application/vnd.rapid 'IANA,[Szekely]
1053
- application/vnd.ruckus.download 'IANA,[Harris]
1054
- application/vnd.s3sms 'IANA,[Tarkkala]
1055
- application/vnd.sealed.doc @sdoc,sdo,s1w 'IANA,[Petersen]
1056
- application/vnd.sealed.eml @seml,sem 'IANA,[Petersen]
1057
- application/vnd.sealed.mht @smht,smh 'IANA,[Petersen]
1058
- application/vnd.sealed.net 'IANA,[Lambert]
1059
- application/vnd.sealed.ppt @sppt,spp,s1p 'IANA,[Petersen]
1060
- application/vnd.sealed.xls @sxls,sxl,s1e 'IANA,[Petersen]
1061
- application/vnd.sealedmedia.softseal.html @stml,stm,s1h 'IANA,[Petersen]
1062
- application/vnd.sealedmedia.softseal.pdf @spdf,spd,s1a 'IANA,[Petersen]
1063
- application/vnd.seemail @see 'IANA,[Webb]
1064
- application/vnd.sema 'IANA,[Hansson]
1065
- application/vnd.shana.informed.formdata 'IANA,[Selzler]
1066
- application/vnd.shana.informed.formtemplate 'IANA,[Selzler]
1067
- application/vnd.shana.informed.interchange 'IANA,[Selzler]
1068
- application/vnd.shana.informed.package 'IANA,[Selzler]
1069
- application/vnd.smaf @mmf 'IANA,[Takahashi]
1070
- application/vnd.sss-cod 'IANA,[Dani]
1071
- application/vnd.sss-dtf 'IANA,[Bruno]
1072
- application/vnd.sss-ntf 'IANA,[Bruno]
1073
- application/vnd.street-stream 'IANA,[Levitt]
1074
- application/vnd.sus-calendar @sus,susp 'IANA,[Niedfeldt]
1075
- application/vnd.svd 'IANA,[Becker]
1076
- application/vnd.swiftview-ics 'IANA,[Widener]
1077
- application/vnd.syncml.+xml 'IANA,[OMA Data Synchronization Working Group]
1078
- application/vnd.syncml.ds.notification 'IANA,[OMA Data Synchronization Working Group]
1079
- application/vnd.triscape.mxs 'IANA,[Simonoff]
1080
- application/vnd.trueapp 'IANA,[Hepler]
1081
- application/vnd.truedoc 'IANA,[Chase]
1082
- application/vnd.ufdl 'IANA,[Manning]
1083
- application/vnd.uiq.theme 'IANA,[Ocock]
1084
- application/vnd.uplanet.alert 'IANA,[Martin]
1085
- application/vnd.uplanet.alert-wbxml 'IANA,[Martin]
1086
- application/vnd.uplanet.bearer-choice 'IANA,[Martin]
1087
- application/vnd.uplanet.bearer-choice-wbxml 'IANA,[Martin]
1088
- application/vnd.uplanet.cacheop 'IANA,[Martin]
1089
- application/vnd.uplanet.cacheop-wbxml 'IANA,[Martin]
1090
- application/vnd.uplanet.channel 'IANA,[Martin]
1091
- application/vnd.uplanet.channel-wbxml 'IANA,[Martin]
1092
- application/vnd.uplanet.list 'IANA,[Martin]
1093
- application/vnd.uplanet.list-wbxml 'IANA,[Martin]
1094
- application/vnd.uplanet.listcmd 'IANA,[Martin]
1095
- application/vnd.uplanet.listcmd-wbxml 'IANA,[Martin]
1096
- application/vnd.uplanet.signal 'IANA,[Martin]
1097
- application/vnd.vcx 'IANA,[T.Sugimoto]
1098
- application/vnd.vectorworks 'IANA,[Pharr]
1099
- application/vnd.vidsoft.vidconference @vsc :8bit 'IANA,[Hess]
1100
- application/vnd.visio @vsd,vst,vsw,vss 'IANA,[Sandal]
1101
- application/vnd.visionary @vis 'IANA,[Aravindakumar]
1102
- application/vnd.vividence.scriptfile 'IANA,[Risher]
1103
- application/vnd.vsf 'IANA,[Rowe]
1104
- application/vnd.wap.sic @sic 'IANA,[WAP-Forum]
1105
- application/vnd.wap.slc @slc 'IANA,[WAP-Forum]
1106
- application/vnd.wap.wbxml @wbxml 'IANA,[Stark]
1107
- application/vnd.wap.wmlc @wmlc 'IANA,[Stark]
1108
- application/vnd.wap.wmlscriptc @wmlsc 'IANA,[Stark]
1109
- application/vnd.webturbo @wtb 'IANA,[Rehem]
1110
- application/vnd.wordperfect @wpd 'IANA,[Scarborough]
1111
- application/vnd.wqd @wqd 'IANA,[Bostrom]
1112
- application/vnd.wrq-hp3000-labelled 'IANA,[Bartram]
1113
- application/vnd.wt.stf 'IANA,[Wohler]
1114
- application/vnd.wv.csp+wbxml @wv 'IANA,[Salmi]
1115
- application/vnd.wv.csp+xml :8bit 'IANA,[Ingimundarson]
1116
- application/vnd.wv.ssp+xml :8bit 'IANA,[Ingimundarson]
1117
- application/vnd.xara 'IANA,[Matthewman]
1118
- application/vnd.xfdl 'IANA,[Manning]
1119
- application/vnd.yamaha.hv-dic @hvd 'IANA,[Yamamoto]
1120
- application/vnd.yamaha.hv-script @hvs 'IANA,[Yamamoto]
1121
- application/vnd.yamaha.hv-voice @hvp 'IANA,[Yamamoto]
1122
- application/vnd.yamaha.smaf-audio @saf 'IANA,[Shinoda]
1123
- application/vnd.yamaha.smaf-phrase @spf 'IANA,[Shinoda]
1124
- application/vnd.yellowriver-custom-menu 'IANA,[Yellow]
1125
- application/vnd.zzazz.deck+xml 'IANA,[Hewett]
1126
- application/voicexml+xml 'DRAFT:draft-froumentin-voice-mediatypes
1127
- application/watcherinfo+xml @wif 'RFC3858
1128
- application/whoispp-query 'RFC2957
1129
- application/whoispp-response 'RFC2958
1130
- application/wita 'IANA,[Campbell]
1131
- application/wordperfect5.1 @wp5,wp 'IANA,[Lindner]
1132
- application/x400-bp 'RFC1494
1133
- application/xcap-att+xml 'DRAFT:draft-ietf-simple-xcap
1134
- application/xcap-caps+xml 'DRAFT:draft-ietf-simple-xcap
1135
- application/xcap-el+xml 'DRAFT:draft-ietf-simple-xcap
1136
- application/xcap-error+xml 'DRAFT:draft-ietf-simple-xcap
1137
- application/xhtml+xml @xhtml :8bit 'RFC3236
1138
- application/xml @xml :8bit 'RFC3023
1139
- application/xml-dtd :8bit 'RFC3023
1140
- application/xml-external-parsed-entity 'RFC3023
1141
- application/xmpp+xml 'RFC3923
1142
- application/xop+xml 'IANA,[Nottingham]
1143
- application/xv+xml 'DRAFT:draft-mccobb-xv-media-type
1144
- application/zip @zip :base64 'IANA,[Lindner]
1145
-
1146
- # Registered: audio/*
1147
- !audio/vnd.qcelp 'IANA,RFC3625 =use-instead:audio/QCELP
1148
- audio/32kadpcm 'RFC2421,RFC2422
1149
- audio/3gpp @3gpp 'RFC3839,DRAFT:draft-gellens-bucket
1150
- audio/3gpp2 'DRAFT:draft-garudadri-avt-3gpp2-mime
1151
- audio/AMR @amr :base64 'RFC3267
1152
- audio/AMR-WB @awb :base64 'RFC3267
1153
- audio/BV16 'RFC4298
1154
- audio/BV32 'RFC4298
1155
- audio/CN 'RFC3389
1156
- audio/DAT12 'RFC3190
1157
- audio/DVI4 'RFC3555
1158
- audio/EVRC @evc 'RFC3558
1159
- audio/EVRC-QCP 'RFC3625
1160
- audio/EVRC0 'RFC3558
1161
- audio/G722 'RFC3555
1162
- audio/G7221 'RFC3047
1163
- audio/G723 'RFC3555
1164
- audio/G726-16 'RFC3555
1165
- audio/G726-24 'RFC3555
1166
- audio/G726-32 'RFC3555
1167
- audio/G726-40 'RFC3555
1168
- audio/G728 'RFC3555
1169
- audio/G729 'RFC3555
1170
- audio/G729D 'RFC3555
1171
- audio/G729E 'RFC3555
1172
- audio/GSM 'RFC3555
1173
- audio/GSM-EFR 'RFC3555
1174
- audio/L16 @l16 'RFC3555
1175
- audio/L20 'RFC3190
1176
- audio/L24 'RFC3190
1177
- audio/L8 'RFC3555
1178
- audio/LPC 'RFC3555
1179
- audio/MP4A-LATM 'RFC3016
1180
- audio/MPA 'RFC3555
1181
- audio/PCMA 'RFC3555
1182
- audio/PCMU 'RFC3555
1183
- audio/QCELP @qcp 'RFC3555'RFC3625
1184
- audio/RED 'RFC3555
1185
- audio/SMV @smv 'RFC3558
1186
- audio/SMV-QCP 'RFC3625
1187
- audio/SMV0 'RFC3558
1188
- audio/VDVI 'RFC3555
1189
- audio/VMR-WB 'DRAFT:draft-ietf-avt-rtp-vmr-wb,DRAFT:draft-ietf-avt-rtp-vmr-wb-extension
1190
- audio/ac3 'RFC4184
1191
- audio/amr-wb+ 'DRAFT:draft-ietf-avt-rtp-amrwbplus
1192
- audio/basic @au,snd :base64 'RFC2045,RFC2046
1193
- audio/clearmode 'RFC4040
1194
- audio/dsr-es201108 'RFC3557
1195
- audio/dsr-es202050 'RFC4060
1196
- audio/dsr-es202211 'RFC4060
1197
- audio/dsr-es202212 'RFC4060
1198
- audio/iLBC 'RFC3952
1199
- audio/mp4 'DRAFT:draft-lim-mpeg4-mime
1200
- audio/mpa-robust 'RFC3119
1201
- audio/mpeg @mpga,mp2,mp3 :base64 'RFC3003
1202
- audio/mpeg4-generic 'RFC3640
1203
- audio/parityfec 'RFC3009
1204
- audio/prs.sid @sid,psid 'IANA,[Walleij]
1205
- audio/rtx 'DRAFT:draft-ietf-avt-rtp-retransmission
1206
- audio/t140c 'DRAFT:draft-ietf-avt-audio-t140c
1207
- audio/telephone-event 'RFC2833
1208
- audio/tone 'RFC2833
1209
- audio/vnd.3gpp.iufp 'IANA,[Belling]
1210
- audio/vnd.audiokoz 'IANA,[DeBarros]
1211
- audio/vnd.cisco.nse 'IANA,[Kumar]
1212
- audio/vnd.cmles.radio-events 'IANA,[Goulet]
1213
- audio/vnd.cns.anp1 'IANA,[McLaughlin]
1214
- audio/vnd.cns.inf1 'IANA,[McLaughlin]
1215
- audio/vnd.digital-winds @eol :7bit 'IANA,[Strazds]
1216
- audio/vnd.dlna.adts 'IANA,[Heredia]
1217
- audio/vnd.everad.plj @plj 'IANA,[Cicelsky]
1218
- audio/vnd.lucent.voice @lvp 'IANA,[Vaudreuil]
1219
- audio/vnd.nokia.mobile-xmf @mxmf 'IANA,[Nokia Corporation]
1220
- audio/vnd.nortel.vbk @vbk 'IANA,[Parsons]
1221
- audio/vnd.nuera.ecelp4800 @ecelp4800 'IANA,[Fox]
1222
- audio/vnd.nuera.ecelp7470 @ecelp7470 'IANA,[Fox]
1223
- audio/vnd.nuera.ecelp9600 @ecelp9600 'IANA,[Fox]
1224
- audio/vnd.octel.sbc 'IANA,[Vaudreuil]
1225
- audio/vnd.rhetorex.32kadpcm 'IANA,[Vaudreuil]
1226
- audio/vnd.sealedmedia.softseal.mpeg @smp3,smp,s1m 'IANA,[Petersen]
1227
- audio/vnd.vmx.cvsd 'IANA,[Vaudreuil]
1228
-
1229
- # Registered: image/*
1230
- image/cgm 'IANA =Computer Graphics Metafile [Francis]
1231
- image/fits 'RFC4047
1232
- image/g3fax 'RFC1494
1233
- image/gif @gif :base64 'RFC2045,RFC2046
1234
- image/ief @ief :base64 'RFC1314 =Image Exchange Format
1235
- image/jp2 @jp2 :base64 'IANA,RFC3745
1236
- image/jpeg @jpeg,jpg,jpe :base64 'RFC2045,RFC2046
1237
- image/jpm @jpm :base64 'IANA,RFC3745
1238
- image/jpx @jpx :base64 'IANA,RFC3745
1239
- image/naplps 'IANA,[Ferber]
1240
- image/png @png :base64 'IANA,[Randers-Pehrson]
1241
- image/prs.btif 'IANA,[Simon]
1242
- image/prs.pti 'IANA,[Laun]
1243
- image/t38 'RFC3362
1244
- image/tiff @tiff,tif :base64 'RFC3302 =Tag Image File Format
1245
- image/tiff-fx 'RFC3950 =Tag Image File Format Fax eXtended
1246
- image/vnd.adobe.photoshop 'IANA,[Scarborough]
1247
- image/vnd.cns.inf2 'IANA,[McLaughlin]
1248
- image/vnd.djvu @djvu,djv 'IANA,[Bottou]
1249
- image/vnd.dwg @dwg 'IANA,[Moline]
1250
- image/vnd.dxf 'IANA,[Moline]
1251
- image/vnd.fastbidsheet 'IANA,[Becker]
1252
- image/vnd.fpx 'IANA,[Spencer]
1253
- image/vnd.fst 'IANA,[Fuldseth]
1254
- image/vnd.fujixerox.edmics-mmr 'IANA,[Onda]
1255
- image/vnd.fujixerox.edmics-rlc 'IANA,[Onda]
1256
- image/vnd.globalgraphics.pgb @pgb 'IANA,[Bailey]
1257
- image/vnd.microsoft.icon @ico 'IANA,[Butcher]
1258
- image/vnd.mix 'IANA,[Reddy]
1259
- image/vnd.ms-modi @mdi 'IANA,[Vaughan]
1260
- image/vnd.net-fpx 'IANA,[Spencer]
1261
- image/vnd.sealed.png @spng,spn,s1n 'IANA,[Petersen]
1262
- image/vnd.sealedmedia.softseal.gif @sgif,sgi,s1g 'IANA,[Petersen]
1263
- image/vnd.sealedmedia.softseal.jpg @sjpg,sjp,s1j 'IANA,[Petersen]
1264
- image/vnd.svf 'IANA,[Moline]
1265
- image/vnd.wap.wbmp @wbmp 'IANA,[Stark]
1266
- image/vnd.xiff 'IANA,[S.Martin]
1267
-
1268
- # Registered: message/*
1269
- message/CPIM 'RFC3862
1270
- message/delivery-status 'RFC1894
1271
- message/disposition-notification 'RFC2298
1272
- message/external-body :8bit 'RFC2046
1273
- message/http 'RFC2616
1274
- message/news :8bit 'RFC1036,[H.Spencer]
1275
- message/partial :8bit 'RFC2046
1276
- message/rfc822 :8bit 'RFC2046
1277
- message/s-http 'RFC2660
1278
- message/sip 'RFC3261
1279
- message/sipfrag 'RFC3420
1280
- message/tracking-status 'RFC3886
1281
-
1282
- # Registered: model/*
1283
- model/iges @igs,iges 'IANA,[Parks]
1284
- model/mesh @msh,mesh,silo 'RFC2077
1285
- model/vnd.dwf 'IANA,[Pratt]
1286
- model/vnd.flatland.3dml 'IANA,[Powers]
1287
- model/vnd.gdl 'IANA,[Babits]
1288
- model/vnd.gs-gdl 'IANA,[Babits]
1289
- model/vnd.gtw 'IANA,[Ozaki]
1290
- model/vnd.mts 'IANA,[Rabinovitch]
1291
- model/vnd.parasolid.transmit.binary @x_b,xmt_bin 'IANA,[Parasolid]
1292
- model/vnd.parasolid.transmit.text @x_t,xmt_txt :quoted-printable 'IANA,[Parasolid]
1293
- model/vnd.vtu 'IANA,[Rabinovitch]
1294
- model/vrml @wrl,vrml 'RFC2077
1295
-
1296
- # Registered: multipart/*
1297
- multipart/alternative :8bit 'RFC2045,RFC2046
1298
- multipart/appledouble :8bit 'IANA,[Faltstrom]
1299
- multipart/byteranges 'RFC2068
1300
- multipart/digest :8bit 'RFC2045,RFC2046
1301
- multipart/encrypted 'RFC1847
1302
- multipart/form-data 'RFC2388
1303
- multipart/header-set 'IANA,[Crocker]
1304
- multipart/mixed :8bit 'RFC2045,RFC2046
1305
- multipart/parallel :8bit 'RFC2045,RFC2046
1306
- multipart/related 'RFC2387
1307
- multipart/report 'RFC1892
1308
- multipart/signed 'RFC1847
1309
- multipart/voice-message 'RFC2421,RFC2423
1310
-
1311
- # Registered: text/*
1312
- !text/ecmascript 'DRAFT:draft-hoehrmann-script-types
1313
- !text/javascript 'DRAFT:draft-hoehrmann-script-types
1314
- text/calendar 'RFC2445
1315
- text/css @css :8bit 'RFC2318
1316
- text/csv @csv :8bit 'RFC4180
1317
- text/directory 'RFC2425
1318
- text/dns 'RFC4027
1319
- text/enriched 'RFC1896
1320
- text/html @html,htm,htmlx,shtml,htx :8bit 'RFC2854
1321
- text/parityfec 'RFC3009
1322
- text/plain @txt,asc,c,cc,h,hh,cpp,hpp,dat,hlp 'RFC2046,RFC3676
1323
- text/prs.fallenstein.rst @rst 'IANA,[Fallenstein]
1324
- text/prs.lines.tag 'IANA,[Lines]
1325
- text/RED 'RFC4102
1326
- text/rfc822-headers 'RFC1892
1327
- text/richtext @rtx :8bit 'RFC2045,RFC2046
1328
- text/rtf @rtf :8bit 'IANA,[Lindner]
1329
- text/rtx 'DRAFT:draft-ietf-avt-rtp-retransmission
1330
- text/sgml @sgml,sgm 'RFC1874
1331
- text/t140 'RFC4103
1332
- text/tab-separated-values @tsv 'IANA,[Lindner]
1333
- text/troff @t,tr,roff,troff :8bit 'DRAFT:draft-lilly-text-troff
1334
- text/uri-list 'RFC2483
1335
- text/vnd.abc 'IANA,[Allen]
1336
- text/vnd.curl 'IANA,[Byrnes]
1337
- text/vnd.DMClientScript 'IANA,[Bradley]
1338
- text/vnd.esmertec.theme-descriptor 'IANA,[Eilemann]
1339
- text/vnd.fly 'IANA,[Gurney]
1340
- text/vnd.fmi.flexstor 'IANA,[Hurtta]
1341
- text/vnd.in3d.3dml 'IANA,[Powers]
1342
- text/vnd.in3d.spot 'IANA,[Powers]
1343
- text/vnd.IPTC.NewsML '[IPTC]
1344
- text/vnd.IPTC.NITF '[IPTC]
1345
- text/vnd.latex-z 'IANA,[Lubos]
1346
- text/vnd.motorola.reflex 'IANA,[Patton]
1347
- text/vnd.ms-mediapackage 'IANA,[Nelson]
1348
- text/vnd.net2phone.commcenter.command @ccc 'IANA,[Xie]
1349
- text/vnd.sun.j2me.app-descriptor @jad :8bit 'IANA,[G.Adams]
1350
- text/vnd.wap.si @si 'IANA,[WAP-Forum]
1351
- text/vnd.wap.sl @sl 'IANA,[WAP-Forum]
1352
- text/vnd.wap.wml @wml 'IANA,[Stark]
1353
- text/vnd.wap.wmlscript @wmls 'IANA,[Stark]
1354
- text/xml @xml,dtd :8bit 'RFC3023
1355
- text/xml-external-parsed-entity 'RFC3023
1356
- vms:text/plain @doc :8bit
1357
-
1358
- # Registered: video/*
1359
- video/3gpp @3gp,3gpp 'RFC3839,DRAFT:draft-gellens-mime-bucket
1360
- video/3gpp-tt 'DRAFT:draft-ietf-avt-rtp-3gpp-timed-text
1361
- video/3gpp2 'DRAFT:draft-garudadri-avt-3gpp2-mime
1362
- video/BMPEG 'RFC3555
1363
- video/BT656 'RFC3555
1364
- video/CelB 'RFC3555
1365
- video/DV 'RFC3189
1366
- video/H261 'RFC3555
1367
- video/H263 'RFC3555
1368
- video/H263-1998 'RFC3555
1369
- video/H263-2000 'RFC3555
1370
- video/H264 'RFC3984
1371
- video/JPEG 'RFC3555
1372
- video/MJ2 @mj2,mjp2 'RFC3745
1373
- video/MP1S 'RFC3555
1374
- video/MP2P 'RFC3555
1375
- video/MP2T 'RFC3555
1376
- video/mp4 'DRAFT:draft-lim-mpeg4-mime
1377
- video/MP4V-ES 'RFC3016
1378
- video/mpeg @mp2,mpe,mp3g,mpg :base64 'RFC2045,RFC2046
1379
- video/mpeg4-generic 'RFC3640
1380
- video/MPV 'RFC3555
1381
- video/nv 'RFC3555
1382
- video/parityfec 'RFC3009
1383
- video/pointer 'RFC2862
1384
- video/quicktime @qt,mov :base64 'IANA,[Lindner]
1385
- video/raw 'RFC4175
1386
- video/rtx 'DRAFT:draft-ietf-avt-rtp-retransmission
1387
- video/SMPTE292M 'RFC3497
1388
- video/vnd.dlna.mpeg-tts 'IANA,[Heredia]
1389
- video/vnd.fvt 'IANA,[Fuldseth]
1390
- video/vnd.motorola.video 'IANA,[McGinty]
1391
- video/vnd.motorola.videop 'IANA,[McGinty]
1392
- video/vnd.mpegurl @mxu,m4u :8bit 'IANA,[Recktenwald]
1393
- video/vnd.nokia.interleaved-multimedia @nim 'IANA,[Kangaslampi]
1394
- video/vnd.objectvideo @mp4 'IANA,[Clark]
1395
- video/vnd.sealed.mpeg1 @s11 'IANA,[Petersen]
1396
- video/vnd.sealed.mpeg4 @smpg,s14 'IANA,[Petersen]
1397
- video/vnd.sealed.swf @sswf,ssw 'IANA,[Petersen]
1398
- video/vnd.sealedmedia.softseal.mov @smov,smo,s1q 'IANA,[Petersen]
1399
- video/vnd.vivo @viv,vivo 'IANA,[Wolfe]
1400
-
1401
- # Unregistered: application/*
1402
- !application/x-troff 'LTSW =use-instead:text/troff
1403
- application/x-bcpio @bcpio 'LTSW
1404
- application/x-compressed @z,Z :base64 'LTSW
1405
- application/x-cpio @cpio :base64 'LTSW
1406
- application/x-csh @csh :8bit 'LTSW
1407
- application/x-dvi @dvi :base64 'LTSW
1408
- application/x-gtar @gtar,tgz,tbz2,tbz :base64 'LTSW
1409
- application/x-gzip @gz :base64 'LTSW
1410
- application/x-hdf @hdf 'LTSW
1411
- application/x-java-archive @jar 'LTSW
1412
- application/x-java-jnlp-file @jnlp 'LTSW
1413
- application/x-java-serialized-object @ser 'LTSW
1414
- application/x-java-vm @class 'LTSW
1415
- application/x-latex @ltx,latex :8bit 'LTSW
1416
- application/x-mif @mif 'LTSW
1417
- application/x-rtf 'LTSW =use-instead:application/rtf
1418
- application/x-sh @sh 'LTSW
1419
- application/x-shar @shar 'LTSW
1420
- application/x-stuffit @sit :base64 'LTSW
1421
- application/x-sv4cpio @sv4cpio :base64 'LTSW
1422
- application/x-sv4crc @sv4crc :base64 'LTSW
1423
- application/x-tar @tar :base64 'LTSW
1424
- application/x-tcl @tcl :8bit 'LTSW
1425
- application/x-tex @tex :8bit
1426
- application/x-texinfo @texinfo,texi :8bit
1427
- application/x-troff-man @man :8bit 'LTSW
1428
- application/x-troff-me @me 'LTSW
1429
- application/x-troff-ms @ms 'LTSW
1430
- application/x-ustar @ustar :base64 'LTSW
1431
- application/x-wais-source @src 'LTSW
1432
- mac:application/x-mac @bin :base64
1433
- *!application/cals1840 'LTSW =use-instead:application/cals-1840
1434
- *!application/remote_printing 'LTSW =use-instead:application/remote-printing
1435
- *!application/x-u-star 'LTSW =use-instead:application/x-ustar
1436
- *!application/x400.bp 'LTSW =use-instead:application/x400-bp
1437
- *application/acad 'LTSW
1438
- *application/clariscad 'LTSW
1439
- *application/drafting 'LTSW
1440
- *application/dxf 'LTSW
1441
- *application/excel @xls,xlt 'LTSW
1442
- *application/fractals 'LTSW
1443
- *application/i-deas 'LTSW
1444
- *application/macbinary 'LTSW
1445
- *application/netcdf @nc,cdf 'LTSW
1446
- *application/powerpoint @ppt,pps,pot :base64 'LTSW
1447
- *application/pro_eng 'LTSW
1448
- *application/set 'LTSW
1449
- *application/SLA 'LTSW
1450
- *application/solids 'LTSW
1451
- *application/STEP 'LTSW
1452
- *application/vda 'LTSW
1453
- *application/word @doc,dot 'LTSW
1454
-
1455
- # Unregistered: audio/*
1456
- audio/x-aiff @aif,aifc,aiff :base64
1457
- audio/x-midi @mid,midi,kar :base64
1458
- audio/x-pn-realaudio @rm,ram :base64
1459
- audio/x-pn-realaudio-plugin @rpm
1460
- audio/x-realaudio @ra :base64
1461
- audio/x-wav @wav :base64
1462
-
1463
- # Unregistered: image/*
1464
- *image/vnd.dgn @dgn =use-instead:image/x-vnd.dgn
1465
- image/x-bmp @bmp
1466
- image/x-cmu-raster @ras
1467
- image/x-paintshoppro @psp,pspimage :base64
1468
- image/x-pict
1469
- image/x-portable-anymap @pnm :base64
1470
- image/x-portable-bitmap @pbm :base64
1471
- image/x-portable-graymap @pgm :base64
1472
- image/x-portable-pixmap @ppm :base64
1473
- image/x-rgb @rgb :base64
1474
- image/x-targa @tga
1475
- image/x-vnd.dgn @dgn
1476
- image/x-win-bmp
1477
- image/x-xbitmap @xbm :7bit
1478
- image/x-xbm @xbm :7bit
1479
- image/x-xpixmap @xpm :8bit
1480
- image/x-xwindowdump @xwd :base64
1481
- *!image/cmu-raster =use-instead:image/x-cmu-raster
1482
- *!image/vnd.net.fpx =use-instead:image/vnd.net-fpx
1483
- *image/bmp @bmp
1484
- *image/targa @tga
1485
-
1486
- # Unregistered: multipart/*
1487
- multipart/x-gzip
1488
- multipart/x-mixed-replace
1489
- multipart/x-tar
1490
- multipart/x-ustar
1491
- multipart/x-www-form-urlencoded
1492
- multipart/x-zip
1493
- *!multipart/parallel =use-instead:multipart/parallel
1494
-
1495
- # Unregistered: text/*
1496
- *text/comma-separated-values @csv :8bit
1497
- *text/vnd.flatland.3dml =use-instead:model/vnd.flatland.3dml
1498
- text/x-vnd.flatland.3dml =use-instead:model/vnd.flatland.3dml
1499
- text/x-setext @etx
1500
- text/x-vcalendar @vcs :8bit
1501
- text/x-vcard @vcf :8bit
1502
- text/x-yaml @yaml,yml :8bit
1503
-
1504
- # Unregistered: video/*
1505
- *video/dl @dl :base64
1506
- *video/gl @gl :base64
1507
- video/x-msvideo @avi :base64
1508
- video/x-sgi-movie @movie :base64
1509
-
1510
- # Unregistered: other/*
1511
- x-chemical/x-pdb @pdb
1512
- x-chemical/x-xyz @xyz
1513
- x-conference/x-cooltalk @ice
1514
- x-drawing/dwf @dwf
1515
- x-world/x-vrml @wrl,vrml
1516
- MIME_TYPES
1517
-
1518
- _re = %r{
1519
- ^
1520
- ([*])? # 0: Unregistered?
1521
- (!)? # 1: Obsolete?
1522
- (?:(\w+):)? # 2: Platform marker
1523
- #{MIME::Type::MEDIA_TYPE_RE} # 3,4: Media type
1524
- (?:\s@([^\s]+))? # 5: Extensions
1525
- (?:\s:(#{MIME::Type::ENCODING_RE}))? # 6: Encoding
1526
- (?:\s'(.+))? # 7: URL list
1527
- (?:\s=(.+))? # 8: Documentation
1528
- $
1529
- }x
1530
-
1531
- data_mime_type.each do |i|
1532
- item = i.chomp.strip.gsub(%r{#.*}o, '')
1533
- next if item.empty?
1534
-
1535
- m = _re.match(item).captures
1536
-
1537
- unregistered, obsolete, platform, mediatype, subtype, extensions,
1538
- encoding, urls, docs = *m
1539
-
1540
- extensions &&= extensions.split(/,/)
1541
- urls &&= urls.split(/,/)
1542
-
1543
- mime_type = MIME::Type.new("#{mediatype}/#{subtype}") do |t|
1544
- t.extensions = extensions
1545
- t.encoding = encoding
1546
- t.system = platform
1547
- t.obsolete = obsolete
1548
- t.registered = false if unregistered
1549
- t.docs = docs
1550
- t.url = urls
1551
- end
1552
-
1553
- MIME::Types.add_type_variant(mime_type)
1554
- MIME::Types.index_extensions(mime_type)
1555
- end
1556
-
1557
- _re = nil
1558
- data_mime_type = nil
751
+ load File.join(File.dirname(__FILE__), 'types.rb.data')