instiki/vendor/plugins/rack/doc/classes/Rack/Mime.html

200 lines
15 KiB
HTML

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Module: Rack::Mime</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
<script type="text/javascript">
// <![CDATA[
function popupCode( url ) {
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
}
function toggleCode( id ) {
if ( document.getElementById )
elem = document.getElementById( id );
else if ( document.all )
elem = eval( "document.all." + id );
else
return false;
elemStyle = elem.style;
if ( elemStyle.display != "block" ) {
elemStyle.display = "block"
} else {
elemStyle.display = "none"
}
return true;
}
// Make codeblocks hidden by default
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
// ]]>
</script>
</head>
<body>
<div id="classHeader">
<table class="header-table">
<tr class="top-aligned-row">
<td><strong>Module</strong></td>
<td class="class-name-in-header">Rack::Mime</td>
</tr>
<tr class="top-aligned-row">
<td><strong>In:</strong></td>
<td>
<a href="../../files/lib/rack/mime_rb.html">
lib/rack/mime.rb
</a>
<br />
</td>
</tr>
</table>
</div>
<!-- banner header -->
<div id="bodyContent">
<div id="contextContent">
</div>
<div id="method-list">
<h3 class="section-bar">Methods</h3>
<div class="name-list">
<a href="#M000021">mime_type</a>&nbsp;&nbsp;
</div>
</div>
</div>
<!-- if includes -->
<div id="section">
<div id="constants-list">
<h3 class="section-bar">Constants</h3>
<div class="name-list">
<table summary="Constants">
<tr class="top-aligned-row context-row">
<td class="context-item-name">MIME_TYPES</td>
<td>=</td>
<td class="context-item-value">{ &quot;.3gp&quot; =&gt; &quot;video/3gpp&quot;, &quot;.a&quot; =&gt; &quot;application/octet-stream&quot;, &quot;.ai&quot; =&gt; &quot;application/postscript&quot;, &quot;.aif&quot; =&gt; &quot;audio/x-aiff&quot;, &quot;.aiff&quot; =&gt; &quot;audio/x-aiff&quot;, &quot;.asc&quot; =&gt; &quot;application/pgp-signature&quot;, &quot;.asf&quot; =&gt; &quot;video/x-ms-asf&quot;, &quot;.asm&quot; =&gt; &quot;text/x-asm&quot;, &quot;.asx&quot; =&gt; &quot;video/x-ms-asf&quot;, &quot;.atom&quot; =&gt; &quot;application/atom+xml&quot;, &quot;.au&quot; =&gt; &quot;audio/basic&quot;, &quot;.avi&quot; =&gt; &quot;video/x-msvideo&quot;, &quot;.bat&quot; =&gt; &quot;application/x-msdownload&quot;, &quot;.bin&quot; =&gt; &quot;application/octet-stream&quot;, &quot;.bmp&quot; =&gt; &quot;image/bmp&quot;, &quot;.bz2&quot; =&gt; &quot;application/x-bzip2&quot;, &quot;.c&quot; =&gt; &quot;text/x-c&quot;, &quot;.cab&quot; =&gt; &quot;application/vnd.ms-cab-compressed&quot;, &quot;.cc&quot; =&gt; &quot;text/x-c&quot;, &quot;.chm&quot; =&gt; &quot;application/vnd.ms-htmlhelp&quot;, &quot;.class&quot; =&gt; &quot;application/octet-stream&quot;, &quot;.com&quot; =&gt; &quot;application/x-msdownload&quot;, &quot;.conf&quot; =&gt; &quot;text/plain&quot;, &quot;.cpp&quot; =&gt; &quot;text/x-c&quot;, &quot;.crt&quot; =&gt; &quot;application/x-x509-ca-cert&quot;, &quot;.css&quot; =&gt; &quot;text/css&quot;, &quot;.csv&quot; =&gt; &quot;text/csv&quot;, &quot;.cxx&quot; =&gt; &quot;text/x-c&quot;, &quot;.deb&quot; =&gt; &quot;application/x-debian-package&quot;, &quot;.der&quot; =&gt; &quot;application/x-x509-ca-cert&quot;, &quot;.diff&quot; =&gt; &quot;text/x-diff&quot;, &quot;.djv&quot; =&gt; &quot;image/vnd.djvu&quot;, &quot;.djvu&quot; =&gt; &quot;image/vnd.djvu&quot;, &quot;.dll&quot; =&gt; &quot;application/x-msdownload&quot;, &quot;.dmg&quot; =&gt; &quot;application/octet-stream&quot;, &quot;.doc&quot; =&gt; &quot;application/msword&quot;, &quot;.dot&quot; =&gt; &quot;application/msword&quot;, &quot;.dtd&quot; =&gt; &quot;application/xml-dtd&quot;, &quot;.dvi&quot; =&gt; &quot;application/x-dvi&quot;, &quot;.ear&quot; =&gt; &quot;application/java-archive&quot;, &quot;.eml&quot; =&gt; &quot;message/rfc822&quot;, &quot;.eps&quot; =&gt; &quot;application/postscript&quot;, &quot;.exe&quot; =&gt; &quot;application/x-msdownload&quot;, &quot;.f&quot; =&gt; &quot;text/x-fortran&quot;, &quot;.f77&quot; =&gt; &quot;text/x-fortran&quot;, &quot;.f90&quot; =&gt; &quot;text/x-fortran&quot;, &quot;.flv&quot; =&gt; &quot;video/x-flv&quot;, &quot;.for&quot; =&gt; &quot;text/x-fortran&quot;, &quot;.gem&quot; =&gt; &quot;application/octet-stream&quot;, &quot;.gemspec&quot; =&gt; &quot;text/x-script.ruby&quot;, &quot;.gif&quot; =&gt; &quot;image/gif&quot;, &quot;.gz&quot; =&gt; &quot;application/x-gzip&quot;, &quot;.h&quot; =&gt; &quot;text/x-c&quot;, &quot;.hh&quot; =&gt; &quot;text/x-c&quot;, &quot;.htm&quot; =&gt; &quot;text/html&quot;, &quot;.html&quot; =&gt; &quot;text/html&quot;, &quot;.ico&quot; =&gt; &quot;image/vnd.microsoft.icon&quot;, &quot;.ics&quot; =&gt; &quot;text/calendar&quot;, &quot;.ifb&quot; =&gt; &quot;text/calendar&quot;, &quot;.iso&quot; =&gt; &quot;application/octet-stream&quot;, &quot;.jar&quot; =&gt; &quot;application/java-archive&quot;, &quot;.java&quot; =&gt; &quot;text/x-java-source&quot;, &quot;.jnlp&quot; =&gt; &quot;application/x-java-jnlp-file&quot;, &quot;.jpeg&quot; =&gt; &quot;image/jpeg&quot;, &quot;.jpg&quot; =&gt; &quot;image/jpeg&quot;, &quot;.js&quot; =&gt; &quot;application/javascript&quot;, &quot;.json&quot; =&gt; &quot;application/json&quot;, &quot;.log&quot; =&gt; &quot;text/plain&quot;, &quot;.m3u&quot; =&gt; &quot;audio/x-mpegurl&quot;, &quot;.m4v&quot; =&gt; &quot;video/mp4&quot;, &quot;.man&quot; =&gt; &quot;text/troff&quot;, &quot;.mathml&quot; =&gt; &quot;application/mathml+xml&quot;, &quot;.mbox&quot; =&gt; &quot;application/mbox&quot;, &quot;.mdoc&quot; =&gt; &quot;text/troff&quot;, &quot;.me&quot; =&gt; &quot;text/troff&quot;, &quot;.mid&quot; =&gt; &quot;audio/midi&quot;, &quot;.midi&quot; =&gt; &quot;audio/midi&quot;, &quot;.mime&quot; =&gt; &quot;message/rfc822&quot;, &quot;.mml&quot; =&gt; &quot;application/mathml+xml&quot;, &quot;.mng&quot; =&gt; &quot;video/x-mng&quot;, &quot;.mov&quot; =&gt; &quot;video/quicktime&quot;, &quot;.mp3&quot; =&gt; &quot;audio/mpeg&quot;, &quot;.mp4&quot; =&gt; &quot;video/mp4&quot;, &quot;.mp4v&quot; =&gt; &quot;video/mp4&quot;, &quot;.mpeg&quot; =&gt; &quot;video/mpeg&quot;, &quot;.mpg&quot; =&gt; &quot;video/mpeg&quot;, &quot;.ms&quot; =&gt; &quot;text/troff&quot;, &quot;.msi&quot; =&gt; &quot;application/x-msdownload&quot;, &quot;.odp&quot; =&gt; &quot;application/vnd.oasis.opendocument.presentation&quot;, &quot;.ods&quot; =&gt; &quot;application/vnd.oasis.opendocument.spreadsheet&quot;, &quot;.odt&quot; =&gt; &quot;application/vnd.oasis.opendocument.text&quot;, &quot;.ogg&quot; =&gt; &quot;application/ogg&quot;, &quot;.p&quot; =&gt; &quot;text/x-pascal&quot;, &quot;.pas&quot; =&gt; &quot;text/x-pascal&quot;, &quot;.pbm&quot; =&gt; &quot;image/x-portable-bitmap&quot;, &quot;.pdf&quot; =&gt; &quot;application/pdf&quot;, &quot;.pem&quot; =&gt; &quot;application/x-x509-ca-cert&quot;, &quot;.pgm&quot; =&gt; &quot;image/x-portable-graymap&quot;, &quot;.pgp&quot; =&gt; &quot;application/pgp-encrypted&quot;, &quot;.pkg&quot; =&gt; &quot;application/octet-stream&quot;, &quot;.pl&quot; =&gt; &quot;text/x-script.perl&quot;, &quot;.pm&quot; =&gt; &quot;text/x-script.perl-module&quot;, &quot;.png&quot; =&gt; &quot;image/png&quot;, &quot;.pnm&quot; =&gt; &quot;image/x-portable-anymap&quot;, &quot;.ppm&quot; =&gt; &quot;image/x-portable-pixmap&quot;, &quot;.pps&quot; =&gt; &quot;application/vnd.ms-powerpoint&quot;, &quot;.ppt&quot; =&gt; &quot;application/vnd.ms-powerpoint&quot;, &quot;.ps&quot; =&gt; &quot;application/postscript&quot;, &quot;.psd&quot; =&gt; &quot;image/vnd.adobe.photoshop&quot;, &quot;.py&quot; =&gt; &quot;text/x-script.python&quot;, &quot;.qt&quot; =&gt; &quot;video/quicktime&quot;, &quot;.ra&quot; =&gt; &quot;audio/x-pn-realaudio&quot;, &quot;.rake&quot; =&gt; &quot;text/x-script.ruby&quot;, &quot;.ram&quot; =&gt; &quot;audio/x-pn-realaudio&quot;, &quot;.rar&quot; =&gt; &quot;application/x-rar-compressed&quot;, &quot;.rb&quot; =&gt; &quot;text/x-script.ruby&quot;, &quot;.rdf&quot; =&gt; &quot;application/rdf+xml&quot;, &quot;.roff&quot; =&gt; &quot;text/troff&quot;, &quot;.rpm&quot; =&gt; &quot;application/x-redhat-package-manager&quot;, &quot;.rss&quot; =&gt; &quot;application/rss+xml&quot;, &quot;.rtf&quot; =&gt; &quot;application/rtf&quot;, &quot;.ru&quot; =&gt; &quot;text/x-script.ruby&quot;, &quot;.s&quot; =&gt; &quot;text/x-asm&quot;, &quot;.sgm&quot; =&gt; &quot;text/sgml&quot;, &quot;.sgml&quot; =&gt; &quot;text/sgml&quot;, &quot;.sh&quot; =&gt; &quot;application/x-sh&quot;, &quot;.sig&quot; =&gt; &quot;application/pgp-signature&quot;, &quot;.snd&quot; =&gt; &quot;audio/basic&quot;, &quot;.so&quot; =&gt; &quot;application/octet-stream&quot;, &quot;.svg&quot; =&gt; &quot;image/svg+xml&quot;, &quot;.svgz&quot; =&gt; &quot;image/svg+xml&quot;, &quot;.swf&quot; =&gt; &quot;application/x-shockwave-flash&quot;, &quot;.t&quot; =&gt; &quot;text/troff&quot;, &quot;.tar&quot; =&gt; &quot;application/x-tar&quot;, &quot;.tbz&quot; =&gt; &quot;application/x-bzip-compressed-tar&quot;, &quot;.tcl&quot; =&gt; &quot;application/x-tcl&quot;, &quot;.tex&quot; =&gt; &quot;application/x-tex&quot;, &quot;.texi&quot; =&gt; &quot;application/x-texinfo&quot;, &quot;.texinfo&quot; =&gt; &quot;application/x-texinfo&quot;, &quot;.text&quot; =&gt; &quot;text/plain&quot;, &quot;.tif&quot; =&gt; &quot;image/tiff&quot;, &quot;.tiff&quot; =&gt; &quot;image/tiff&quot;, &quot;.torrent&quot; =&gt; &quot;application/x-bittorrent&quot;, &quot;.tr&quot; =&gt; &quot;text/troff&quot;, &quot;.txt&quot; =&gt; &quot;text/plain&quot;, &quot;.vcf&quot; =&gt; &quot;text/x-vcard&quot;, &quot;.vcs&quot; =&gt; &quot;text/x-vcalendar&quot;, &quot;.vrml&quot; =&gt; &quot;model/vrml&quot;, &quot;.war&quot; =&gt; &quot;application/java-archive&quot;, &quot;.wav&quot; =&gt; &quot;audio/x-wav&quot;, &quot;.wma&quot; =&gt; &quot;audio/x-ms-wma&quot;, &quot;.wmv&quot; =&gt; &quot;video/x-ms-wmv&quot;, &quot;.wmx&quot; =&gt; &quot;video/x-ms-wmx&quot;, &quot;.wrl&quot; =&gt; &quot;model/vrml&quot;, &quot;.wsdl&quot; =&gt; &quot;application/wsdl+xml&quot;, &quot;.xbm&quot; =&gt; &quot;image/x-xbitmap&quot;, &quot;.xhtml&quot; =&gt; &quot;application/xhtml+xml&quot;, &quot;.xls&quot; =&gt; &quot;application/vnd.ms-excel&quot;, &quot;.xml&quot; =&gt; &quot;application/xml&quot;, &quot;.xpm&quot; =&gt; &quot;image/x-xpixmap&quot;, &quot;.xsl&quot; =&gt; &quot;application/xml&quot;, &quot;.xslt&quot; =&gt; &quot;application/xslt+xml&quot;, &quot;.yaml&quot; =&gt; &quot;text/yaml&quot;, &quot;.yml&quot; =&gt; &quot;text/yaml&quot;, &quot;.zip&quot; =&gt; &quot;application/zip&quot;, }</td>
<td width="3em">&nbsp;</td>
<td class="context-item-desc">
List of most common mime-types, selected various sources according to their
usefulness in a webserving scope for Ruby users.
<p>
To amend this list with your local mime.types list you can use:
</p>
<pre>
require 'webrick/httputils'
list = WEBrick::HTTPUtils.load_mime_types('/etc/mime.types')
Rack::Utils::MIME_TYPES.merge!(list)
</pre>
<p>
To add the list mongrel provides, use:
</p>
<pre>
require 'mongrel/handlers'
Rack::Utils::MIME_TYPES.merge!(Mongrel::DirHandler::MIME_TYPES)
</pre>
</td>
</tr>
</table>
</div>
</div>
<!-- if method_list -->
<div id="methods">
<h3 class="section-bar">Public Instance methods</h3>
<div id="method-M000021" class="method-detail">
<a name="M000021"></a>
<div class="method-heading">
<a href="#M000021" class="method-signature">
<span class="method-name">mime_type</span><span class="method-args">(ext, fallback='application/octet-stream')</span>
</a>
</div>
<div class="method-description">
<p>
Returns String with mime type if found, otherwise use <tt>fallback</tt>.
<tt>ext</tt> should be filename extension in the &#8217;.ext&#8217; format
that
</p>
<pre>
File.extname(file) returns.
</pre>
<p>
<tt>fallback</tt> may be any object
</p>
<p>
Also see the documentation for MIME_TYPES
</p>
<p>
Usage:
</p>
<pre>
Rack::Utils.mime_type('.foo')
</pre>
<p>
This is a shortcut for:
</p>
<pre>
Rack::Utils::MIME_TYPES.fetch('.foo', 'application/octet-stream')
</pre>
<p><a class="source-toggle" href="#"
onclick="toggleCode('M000021-source');return false;">[Source]</a></p>
<div class="method-source-code" id="M000021-source">
<pre>
<span class="ruby-comment cmt"># File lib/rack/mime.rb, line 16</span>
16: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mime_type</span>(<span class="ruby-identifier">ext</span>, <span class="ruby-identifier">fallback</span>=<span class="ruby-value str">'application/octet-stream'</span>)
17: <span class="ruby-constant">MIME_TYPES</span>.<span class="ruby-identifier">fetch</span>(<span class="ruby-identifier">ext</span>, <span class="ruby-identifier">fallback</span>)
18: <span class="ruby-keyword kw">end</span>
</pre>
</div>
</div>
</div>
</div>
</div>
<div id="validator-badges">
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
</div>
</body>
</html>