0001    // https://gist.githubusercontent.com/ngs/918b07f448977789cf69/raw/05bbb2103a41e0ed5d5579b3666d61c0891f91c0/MimeType.swift
0002    import Foundation
0003    internal let DEFAULT_MIME_TYPE
MimeType.swift:115
    return DEFAULT_MIME_TYPE
= "application/octet-stream" 0004 0005 internal let mimeTypes
MimeType.swift:112
    if ext != nil && mimeTypes.contains({ $0.0 == ext!.lowercaseString }) {
MimeType.swift:113
        return mimeTypes[ext!.lowercaseString]!
= [ 0006 "html": "text/html", 0007 "htm": "text/html", 0008 "shtml": "text/html", 0009 "css": "text/css", 0010 "xml": "text/xml", 0011 "gif": "image/gif", 0012 "jpeg": "image/jpeg", 0013 "jpg": "image/jpeg", 0014 "js": "application/javascript", 0015 "atom": "application/atom+xml", 0016 "rss": "application/rss+xml", 0017 "mml": "text/mathml", 0018 "txt": "text/plain", 0019 "jad": "text/vnd.sun.j2me.app-descriptor", 0020 "wml": "text/vnd.wap.wml", 0021 "htc": "text/x-component", 0022 "png": "image/png", 0023 "tif": "image/tiff", 0024 "tiff": "image/tiff", 0025 "wbmp": "image/vnd.wap.wbmp", 0026 "ico": "image/x-icon", 0027 "jng": "image/x-jng", 0028 "bmp": "image/x-ms-bmp", 0029 "svg": "image/svg+xml", 0030 "svgz": "image/svg+xml", 0031 "webp": "image/webp", 0032 "woff": "application/font-woff", 0033 "jar": "application/java-archive", 0034 "war": "application/java-archive", 0035 "ear": "application/java-archive", 0036 "json": "application/json", 0037 "hqx": "application/mac-binhex40", 0038 "doc": "application/msword", 0039 "pdf": "application/pdf", 0040 "ps": "application/postscript", 0041 "eps": "application/postscript", 0042 "ai": "application/postscript", 0043 "rtf": "application/rtf", 0044 "m3u8": "application/vnd.apple.mpegurl", 0045 "xls": "application/vnd.ms-excel", 0046 "eot": "application/vnd.ms-fontobject", 0047 "ppt": "application/vnd.ms-powerpoint", 0048 "wmlc": "application/vnd.wap.wmlc", 0049 "kml": "application/vnd.google-earth.kml+xml", 0050 "kmz": "application/vnd.google-earth.kmz", 0051 "7z": "application/x-7z-compressed", 0052 "cco": "application/x-cocoa", 0053 "jardiff": "application/x-java-archive-diff", 0054 "jnlp": "application/x-java-jnlp-file", 0055 "run": "application/x-makeself", 0056 "pl": "application/x-perl", 0057 "pm": "application/x-perl", 0058 "prc": "application/x-pilot", 0059 "pdb": "application/x-pilot", 0060 "rar": "application/x-rar-compressed", 0061 "rpm": "application/x-redhat-package-manager", 0062 "sea": "application/x-sea", 0063 "swf": "application/x-shockwave-flash", 0064 "sit": "application/x-stuffit", 0065 "tcl": "application/x-tcl", 0066 "tk": "application/x-tcl", 0067 "der": "application/x-x509-ca-cert", 0068 "pem": "application/x-x509-ca-cert", 0069 "crt": "application/x-x509-ca-cert", 0070 "xpi": "application/x-xpinstall", 0071 "xhtml": "application/xhtml+xml", 0072 "xspf": "application/xspf+xml", 0073 "zip": "application/zip", 0074 "bin": "application/octet-stream", 0075 "exe": "application/octet-stream", 0076 "dll": "application/octet-stream", 0077 "deb": "application/octet-stream", 0078 "dmg": "application/octet-stream", 0079 "iso": "application/octet-stream", 0080 "img": "application/octet-stream", 0081 "msi": "application/octet-stream", 0082 "msp": "application/octet-stream", 0083 "msm": "application/octet-stream", 0084 "docx": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", 0085 "xlsx": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", 0086 "pptx": "application/vnd.openxmlformats-officedocument.presentationml.presentation", 0087 "mid": "audio/midi", 0088 "midi": "audio/midi", 0089 "kar": "audio/midi", 0090 "mp3": "audio/mpeg", 0091 "ogg": "audio/ogg", 0092 "m4a": "audio/x-m4a", 0093 "ra": "audio/x-realaudio", 0094 "3gpp": "video/3gpp", 0095 "3gp": "video/3gpp", 0096 "ts": "video/mp2t", 0097 "mp4": "video/mp4", 0098 "mpeg": "video/mpeg", 0099 "mpg": "video/mpeg", 0100 "mov": "video/quicktime", 0101 "webm": "video/webm", 0102 "flv": "video/x-flv", 0103 "m4v": "video/x-m4v", 0104 "mng": "video/x-mng", 0105 "asx": "video/x-ms-asf", 0106 "asf": "video/x-ms-asf", 0107 "wmv": "video/x-ms-wmv", 0108 "avi": "video/x-msvideo" 0109 ] 0110 0111 internal func MimeType
MimeType.swift:120
        return MimeType(self.pathExtension)
MimeType.swift:127
        return MimeType(self.pathExtension)
MimeType.swift:133
        return MimeType(self)
(ext: String?) -> String { 0112 if ext != nil && mimeTypes.contains({ $0.0 == ext!.lowercaseString }) { 0113 return mimeTypes[ext!.lowercaseString]! 0114 } 0115 return DEFAULT_MIME_TYPE 0116 } 0117 0118 extension NSURL { 0119 public func mimeType() -> String { 0120 return MimeType(self.pathExtension) 0121 } 0122 } 0123 0124 0125 extension NSString { 0126 public func mimeType() -> String { 0127 return MimeType(self.pathExtension) 0128 } 0129 } 0130 0131 extension String { 0132 public func mimeType() -> String { 0133 return MimeType(self) 0134 } 0135 } 0136