# Module mimetypes

This module implements a mimetypes database

# Imports

strtabs

# Types

    TMimeDB* = object
      mimes: PStringTable

# Consts

    mimes* = {"ez": "application/andrew-inset", "anx": "application/annodex",
              "atom": "application/atom+xml", "atomcat": "application/atomcat+xml",
              "atomsrv": "application/atomserv+xml", "lin": "application/bbolin",
              "cap": "application/cap", "pcap": "application/cap",
              "cu": "application/cu-seeme", "davmount": "application/davmount+xml",
              "tsp": "application/dsptype", "es": "application/ecmascript",
              "spl": "application/futuresplash", "hta": "application/hta",
              "jar": "application/java-archive",
              "ser": "application/java-serialized-object",
              "class": "application/java-vm", "js": "application/javascript",
              "m3g": "application/m3g", "hqx": "application/mac-binhex40",
              "cpt": "application/mac-compactpro", "nb": "application/mathematica",
              "nbp": "application/mathematica", "mdb": "application/msaccess",
              "doc": "application/msword", "dot": "application/msword",
              "mxf": "application/mxf", "bin": "application/octet-stream",
              "oda": "application/oda", "ogx": "application/ogg",
              "pdf": "application/pdf", "key": "application/pgp-keys",
              "pgp": "application/pgp-signature", "prf": "application/pics-rules",
              "ps": "application/postscript", "ai": "application/postscript",
              "eps": "application/postscript", "epsi": "application/postscript",
              "epsf": "application/postscript", "eps2": "application/postscript",
              "eps3": "application/postscript", "rar": "application/rar",
              "rdf": "application/rdf+xml", "rss": "application/rss+xml",
              "rtf": "application/rtf", "smi": "application/smil",
              "smil": "application/smil", "xhtml": "application/xhtml+xml",
              "xht": "application/xhtml+xml", "xml": "application/xml",
              "xsl": "application/xml", "xsd": "application/xml",
              "xspf": "application/xspf+xml", "zip": "application/zip",
              "apk": "application/vnd.android.package-archive",
              "cdy": "application/vnd.cinderella",
              "kml": "application/vnd.google-earth.kml+xml",
              "kmz": "application/vnd.google-earth.kmz",
              "xul": "application/vnd.mozilla.xul+xml",
              "xls": "application/vnd.ms-excel", "xlb": "application/vnd.ms-excel",
              "xlt": "application/vnd.ms-excel",
              "cat": "application/vnd.ms-pki.seccat",
              "stl": "application/vnd.ms-pki.stl",
              "ppt": "application/vnd.ms-powerpoint",
              "pps": "application/vnd.ms-powerpoint", "xlsx": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "xltx": "application/vnd.openxmlformats-officedocument.spreadsheetml.template", "pptx": "application/vnd.openxmlformats-officedocument.presentationml.presentation", "ppsx": "application/vnd.openxmlformats-officedocument.presentationml.slideshow", "potx": "application/vnd.openxmlformats-officedocument.presentationml.template", "docx": "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "dotx": "application/vnd.openxmlformats-officedocument.wordprocessingml.template",
              "cod": "application/vnd.rim.cod", "mmf": "application/vnd.smaf",
              "sis": "application/vnd.symbian.install",
              "vsd": "application/vnd.visio", "wbxml": "application/vnd.wap.wbxml",
              "wmlc": "application/vnd.wap.wmlc",
              "wmlsc": "application/vnd.wap.wmlscriptc",
              "wpd": "application/vnd.wordperfect",
              "wp5": "application/vnd.wordperfect5.1", "wk": "application/x-123",
              "7z": "application/x-7z-compressed", "abw": "application/x-abiword",
              "dmg": "application/x-apple-diskimage",
              "bcpio": "application/x-bcpio", "torrent": "application/x-bittorrent",
              "cab": "application/x-cab", "cbr": "application/x-cbr",
              "cbz": "application/x-cbz", "cdf": "application/x-cdf",
              "cda": "application/x-cdf", "vcd": "application/x-cdlink",
              "pgn": "application/x-chess-pgn", "cpio": "application/x-cpio",
              "csh": "application/x-csh", "deb": "application/x-debian-package",
              "udeb": "application/x-debian-package",
              "dcr": "application/x-director", "dir": "application/x-director",
              "dxr": "application/x-director", "dms": "application/x-dms",
              "wad": "application/x-doom", "dvi": "application/x-dvi",
              "rhtml": "application/x-httpd-eruby", "pfa": "application/x-font",
              "pfb": "application/x-font", "gsf": "application/x-font",
              "pcf": "application/x-font", "pcf.Z": "application/x-font",
              "mm": "application/x-freemind", "spl": "application/x-futuresplash",
              "gnumeric": "application/x-gnumeric", "sgf": "application/x-go-sgf",
              "gcf": "application/x-graphing-calculator",
              "gtar": "application/x-gtar", "tgz": "application/x-gtar",
              "taz": "application/x-gtar", "hdf": "application/x-hdf",
              "phtml": "application/x-httpd-php", "pht": "application/x-httpd-php",
              "php": "application/x-httpd-php",
              "phps": "application/x-httpd-php-source",
              "php3": "application/x-httpd-php3",
              "php3p": "application/x-httpd-php3-preprocessed",
              "php4": "application/x-httpd-php4",
              "php5": "application/x-httpd-php5", "ica": "application/x-ica",
              "info": "application/x-info", "ins": "application/x-internet-signup",
              "isp": "application/x-internet-signup", "iii": "application/x-iphone",
              "iso": "application/x-iso9660-image", "jam": "application/x-jam",
              "jnlp": "application/x-java-jnlp-file", "jmz": "application/x-jmol",
              "chrt": "application/x-kchart", "kil": "application/x-killustrator",
              "skp": "application/x-koan", "skd": "application/x-koan",
              "skt": "application/x-koan", "skm": "application/x-koan",
              "kpr": "application/x-kpresenter", "kpt": "application/x-kpresenter",
              "ksp": "application/x-kspread", "kwd": "application/x-kword",
              "kwt": "application/x-kword", "latex": "application/x-latex",
              "lha": "application/x-lha", "lyx": "application/x-lyx",
              "lzh": "application/x-lzh", "lzx": "application/x-lzx",
              "frm": "application/x-maker", "maker": "application/x-maker",
              "frame": "application/x-maker", "fm": "application/x-maker",
              "fb": "application/x-maker", "book": "application/x-maker",
              "fbdoc": "application/x-maker", "mif": "application/x-mif",
              "wmd": "application/x-ms-wmd", "wmz": "application/x-ms-wmz",
              "com": "application/x-msdos-program",
              "exe": "application/x-msdos-program",
              "bat": "application/x-msdos-program",
              "dll": "application/x-msdos-program", "msi": "application/x-msi",
              "nc": "application/x-netcdf",
              "pac": "application/x-ns-proxy-autoconfig",
              "dat": "application/x-ns-proxy-autoconfig",
              "nwc": "application/x-nwc", "o": "application/x-object",
              "oza": "application/x-oz-application",
              "p7r": "application/x-pkcs7-certreqresp",
              "crl": "application/x-pkcs7-crl", "pyc": "application/x-python-code",
              "pyo": "application/x-python-code", "qgs": "application/x-qgis",
              "shp": "application/x-qgis", "shx": "application/x-qgis",
              "qtl": "application/x-quicktimeplayer",
              "rpm": "application/x-redhat-package-manager",
              "rb": "application/x-ruby", "sh": "application/x-sh",
              "shar": "application/x-shar", "swf": "application/x-shockwave-flash",
              "swfl": "application/x-shockwave-flash",
              "scr": "application/x-silverlight", "sit": "application/x-stuffit",
              "sitx": "application/x-stuffit", "sv4cpio": "application/x-sv4cpio",
              "sv4crc": "application/x-sv4crc", "tar": "application/x-tar",
              "tcl": "application/x-tcl", "gf": "application/x-tex-gf",
              "pk": "application/x-tex-pk", "texinfo": "application/x-texinfo",
              "texi": "application/x-texinfo", "~": "application/x-trash",
              "%": "application/x-trash", "bak": "application/x-trash",
              "old": "application/x-trash", "sik": "application/x-trash",
              "t": "application/x-troff", "tr": "application/x-troff",
              "roff": "application/x-troff", "man": "application/x-troff-man",
              "me": "application/x-troff-me", "ms": "application/x-troff-ms",
              "ustar": "application/x-ustar", "src": "application/x-wais-source",
              "wz": "application/x-wingz", "crt": "application/x-x509-ca-cert",
              "xcf": "application/x-xcf", "fig": "application/x-xfig",
              "xpi": "application/x-xpinstall", "amr": "audio/amr",
              "awb": "audio/amr-wb", "amr": "audio/amr", "awb": "audio/amr-wb",
              "axa": "audio/annodex", "au": "audio/basic", "snd": "audio/basic",
              "flac": "audio/flac", "mid": "audio/midi", "midi": "audio/midi",
              "kar": "audio/midi", "mpga": "audio/mpeg", "mpega": "audio/mpeg",
              "mp2": "audio/mpeg", "mp3": "audio/mpeg", "m4a": "audio/mpeg",
              "m3u": "audio/mpegurl", "oga": "audio/ogg", "ogg": "audio/ogg",
              "spx": "audio/ogg", "sid": "audio/prs.sid", "aif": "audio/x-aiff",
              "aiff": "audio/x-aiff", "aifc": "audio/x-aiff", "gsm": "audio/x-gsm",
              "m3u": "audio/x-mpegurl", "wma": "audio/x-ms-wma",
              "wax": "audio/x-ms-wax", "ra": "audio/x-pn-realaudio",
              "rm": "audio/x-pn-realaudio", "ram": "audio/x-pn-realaudio",
              "ra": "audio/x-realaudio", "pls": "audio/x-scpls",
              "sd2": "audio/x-sd2", "wav": "audio/x-wav",
              "alc": "chemical/x-alchemy", "cac": "chemical/x-cache",
              "cache": "chemical/x-cache", "csf": "chemical/x-cache-csf",
              "cbin": "chemical/x-cactvs-binary",
              "cascii": "chemical/x-cactvs-binary",
              "ctab": "chemical/x-cactvs-binary", "cdx": "chemical/x-cdx",
              "cer": "chemical/x-cerius", "c3d": "chemical/x-chem3d",
              "chm": "chemical/x-chemdraw", "cif": "chemical/x-cif",
              "cmdf": "chemical/x-cmdf", "cml": "chemical/x-cml",
              "cpa": "chemical/x-compass", "bsd": "chemical/x-crossfire",
              "csml": "chemical/x-csml", "csm": "chemical/x-csml",
              "ctx": "chemical/x-ctx", "cxf": "chemical/x-cxf",
              "cef": "chemical/x-cxf", "smi": "#chemical/x-daylight-smiles",
              "emb": "chemical/x-embl-dl-nucleotide",
              "embl": "chemical/x-embl-dl-nucleotide",
              "spc": "chemical/x-galactic-spc", "inp": "chemical/x-gamess-input",
              "gam": "chemical/x-gamess-input", "gamin": "chemical/x-gamess-input",
              "fch": "chemical/x-gaussian-checkpoint",
              "fchk": "chemical/x-gaussian-checkpoint",
              "cub": "chemical/x-gaussian-cube", "gau": "chemical/x-gaussian-input",
              "gjc": "chemical/x-gaussian-input",
              "gjf": "chemical/x-gaussian-input", "gal": "chemical/x-gaussian-log",
              "gcg": "chemical/x-gcg8-sequence", "gen": "chemical/x-genbank",
              "hin": "chemical/x-hin", "istr": "chemical/x-isostar",
              "ist": "chemical/x-isostar", "jdx": "chemical/x-jcamp-dx",
              "dx": "chemical/x-jcamp-dx", "kin": "chemical/x-kinemage",
              "mcm": "chemical/x-macmolecule", "mmd": "chemical/x-macromodel-input",
              "mmod": "chemical/x-macromodel-input",
              "mol": "chemical/x-mdl-molfile", "rd": "chemical/x-mdl-rdfile",
              "rxn": "chemical/x-mdl-rxnfile", "sd": "chemical/x-mdl-sdfile",
              "sdf": "chemical/x-mdl-sdfile", "tgf": "chemical/x-mdl-tgf",
              "mif": "#chemical/x-mif", "mcif": "chemical/x-mmcif",
              "mol2": "chemical/x-mol2", "b": "chemical/x-molconn-Z",
              "gpt": "chemical/x-mopac-graph", "mop": "chemical/x-mopac-input",
              "mopcrt": "chemical/x-mopac-input", "mpc": "chemical/x-mopac-input",
              "zmt": "chemical/x-mopac-input", "moo": "chemical/x-mopac-out",
              "mvb": "chemical/x-mopac-vib", "asn": "chemical/x-ncbi-asn1",
              "prt": "chemical/x-ncbi-asn1-ascii",
              "ent": "chemical/x-ncbi-asn1-ascii",
              "val": "chemical/x-ncbi-asn1-binary",
              "aso": "chemical/x-ncbi-asn1-binary",
              "asn": "chemical/x-ncbi-asn1-spec", "pdb": "chemical/x-pdb",
              "ent": "chemical/x-pdb", "ros": "chemical/x-rosdal",
              "sw": "chemical/x-swissprot", "vms": "chemical/x-vamas-iso14976",
              "vmd": "chemical/x-vmd", "xtel": "chemical/x-xtel",
              "xyz": "chemical/x-xyz", "gif": "image/gif", "ief": "image/ief",
              "jpeg": "image/jpeg", "jpg": "image/jpeg", "jpe": "image/jpeg",
              "pcx": "image/pcx", "png": "image/png", "svg": "image/svg+xml",
              "svgz": "image/svg+xml", "tiff": "image/tiff", "tif": "image/tiff",
              "djvu": "image/vnd.djvu", "djv": "image/vnd.djvu",
              "wbmp": "image/vnd.wap.wbmp", "cr2": "image/x-canon-cr2",
              "crw": "image/x-canon-crw", "ras": "image/x-cmu-raster",
              "cdr": "image/x-coreldraw", "pat": "image/x-coreldrawpattern",
              "cdt": "image/x-coreldrawtemplate", "cpt": "image/x-corelphotopaint",
              "erf": "image/x-epson-erf", "ico": "image/x-icon",
              "art": "image/x-jg", "jng": "image/x-jng", "bmp": "image/x-ms-bmp",
              "nef": "image/x-nikon-nef", "orf": "image/x-olympus-orf",
              "psd": "image/x-photoshop", "pnm": "image/x-portable-anymap",
              "pbm": "image/x-portable-bitmap", "pgm": "image/x-portable-graymap",
              "ppm": "image/x-portable-pixmap", "rgb": "image/x-rgb",
              "xbm": "image/x-xbitmap", "xpm": "image/x-xpixmap",
              "xwd": "image/x-xwindowdump", "eml": "message/rfc822",
              "igs": "model/iges", "iges": "model/iges", "msh": "model/mesh",
              "mesh": "model/mesh", "silo": "model/mesh", "wrl": "model/vrml",
              "vrml": "model/vrml", "x3dv": "model/x3d+vrml",
              "x3d": "model/x3d+xml", "x3db": "model/x3d+binary",
              "manifest": "text/cache-manifest", "ics": "text/calendar",
              "icz": "text/calendar", "css": "text/css", "csv": "text/csv",
              "323": "text/h323", "html": "text/html", "htm": "text/html",
              "shtml": "text/html", "uls": "text/iuls", "mml": "text/mathml",
              "asc": "text/plain", "txt": "text/plain", "text": "text/plain",
              "pot": "text/plain", "brf": "text/plain", "rtx": "text/richtext",
              "sct": "text/scriptlet", "wsc": "text/scriptlet",
              "tm": "text/texmacs", "ts": "text/texmacs",
              "tsv": "text/tab-separated-values",
              "jad": "text/vnd.sun.j2me.app-descriptor", "wml": "text/vnd.wap.wml",
              "wmls": "text/vnd.wap.wmlscript", "bib": "text/x-bibtex",
              "boo": "text/x-boo", "h++": "text/x-c++hdr", "hpp": "text/x-c++hdr",
              "hxx": "text/x-c++hdr", "hh": "text/x-c++hdr", "c++": "text/x-c++src",
              "cpp": "text/x-c++src", "cxx": "text/x-c++src", "cc": "text/x-c++src",
              "h": "text/x-chdr", "htc": "text/x-component", "csh": "text/x-csh",
              "c": "text/x-csrc", "d": "text/x-dsrc", "diff": "text/x-diff",
              "patch": "text/x-diff", "hs": "text/x-haskell", "java": "text/x-java",
              "lhs": "text/x-literate-haskell", "moc": "text/x-moc",
              "p": "text/x-pascal", "pas": "text/x-pascal", "gcd": "text/x-pcs-gcd",
              "pl": "text/x-perl", "pm": "text/x-perl", "py": "text/x-python",
              "scala": "text/x-scala", "etx": "text/x-setext", "sh": "text/x-sh",
              "tcl": "text/x-tcl", "tk": "text/x-tcl", "tex": "text/x-tex",
              "ltx": "text/x-tex", "sty": "text/x-tex", "cls": "text/x-tex",
              "vcs": "text/x-vcalendar", "vcf": "text/x-vcard", "3gp": "video/3gpp",
              "axv": "video/annodex", "dl": "video/dl", "dif": "video/dv",
              "dv": "video/dv", "fli": "video/fli", "gl": "video/gl",
              "mpeg": "video/mpeg", "mpg": "video/mpeg", "mpe": "video/mpeg",
              "mp4": "video/mp4", "qt": "video/quicktime", "mov": "video/quicktime",
              "ogv": "video/ogg", "mxu": "video/vnd.mpegurl", "flv": "video/x-flv",
              "lsf": "video/x-la-asf", "lsx": "video/x-la-asf",
              "mng": "video/x-mng", "asf": "video/x-ms-asf",
              "asx": "video/x-ms-asf", "wm": "video/x-ms-wm",
              "wmv": "video/x-ms-wmv", "wmx": "video/x-ms-wmx",
              "wvx": "video/x-ms-wvx", "avi": "video/x-msvideo",
              "movie": "video/x-sgi-movie", "mpv": "video/x-matroska",
              "mkv": "video/x-matroska", "ice": "x-conference/x-cooltalk",
              "sisx": "x-epoc/x-sisx-app", "vrm": "x-world/x-vrml",
              "vrml": "x-world/x-vrml", "wrl": "x-world/x-vrml"}

# Procs

    proc newMimetypes*(): TMimeDB

  Creates a new Mimetypes database. The database will contain the most common mimetypes.

    proc getMimetype*(mimedb: TMimeDB; ext: string; default = "text/plain"): string

  Gets mimetype which corresponds to `ext`. Returns `default` if `ext` could not be found.

    proc getExt*(mimedb: TMimeDB; mimetype: string; default = "txt"): string

  Gets extension which corresponds to `mimetype`. Returns `default` if `mimetype` could not be found. Extensions are returned without the leading dot.

    proc register*(mimedb: var TMimeDB; ext: string; mimetype: string)

  Adds `mimetype` to the `mimedb`.

Generated: 2012-09-23 21:47:54 UTC