buddy

node MVC discord bot
Log | Files | Refs | README

README.md (3635B)


      1 # mime-types
      2 
      3 [![NPM Version][npm-version-image]][npm-url]
      4 [![NPM Downloads][npm-downloads-image]][npm-url]
      5 [![Node.js Version][node-version-image]][node-version-url]
      6 [![Build Status][travis-image]][travis-url]
      7 [![Test Coverage][coveralls-image]][coveralls-url]
      8 
      9 The ultimate javascript content-type utility.
     10 
     11 Similar to [the `mime@1.x` module](https://www.npmjs.com/package/mime), except:
     12 
     13 - __No fallbacks.__ Instead of naively returning the first available type,
     14   `mime-types` simply returns `false`, so do
     15   `var type = mime.lookup('unrecognized') || 'application/octet-stream'`.
     16 - No `new Mime()` business, so you could do `var lookup = require('mime-types').lookup`.
     17 - No `.define()` functionality
     18 - Bug fixes for `.lookup(path)`
     19 
     20 Otherwise, the API is compatible with `mime` 1.x.
     21 
     22 ## Install
     23 
     24 This is a [Node.js](https://nodejs.org/en/) module available through the
     25 [npm registry](https://www.npmjs.com/). Installation is done using the
     26 [`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally):
     27 
     28 ```sh
     29 $ npm install mime-types
     30 ```
     31 
     32 ## Adding Types
     33 
     34 All mime types are based on [mime-db](https://www.npmjs.com/package/mime-db),
     35 so open a PR there if you'd like to add mime types.
     36 
     37 ## API
     38 
     39 <!-- eslint-disable no-unused-vars -->
     40 
     41 ```js
     42 var mime = require('mime-types')
     43 ```
     44 
     45 All functions return `false` if input is invalid or not found.
     46 
     47 ### mime.lookup(path)
     48 
     49 Lookup the content-type associated with a file.
     50 
     51 <!-- eslint-disable no-undef -->
     52 
     53 ```js
     54 mime.lookup('json') // 'application/json'
     55 mime.lookup('.md') // 'text/markdown'
     56 mime.lookup('file.html') // 'text/html'
     57 mime.lookup('folder/file.js') // 'application/javascript'
     58 mime.lookup('folder/.htaccess') // false
     59 
     60 mime.lookup('cats') // false
     61 ```
     62 
     63 ### mime.contentType(type)
     64 
     65 Create a full content-type header given a content-type or extension.
     66 When given an extension, `mime.lookup` is used to get the matching
     67 content-type, otherwise the given content-type is used. Then if the
     68 content-type does not already have a `charset` parameter, `mime.charset`
     69 is used to get the default charset and add to the returned content-type.
     70 
     71 <!-- eslint-disable no-undef -->
     72 
     73 ```js
     74 mime.contentType('markdown') // 'text/x-markdown; charset=utf-8'
     75 mime.contentType('file.json') // 'application/json; charset=utf-8'
     76 mime.contentType('text/html') // 'text/html; charset=utf-8'
     77 mime.contentType('text/html; charset=iso-8859-1') // 'text/html; charset=iso-8859-1'
     78 
     79 // from a full path
     80 mime.contentType(path.extname('/path/to/file.json')) // 'application/json; charset=utf-8'
     81 ```
     82 
     83 ### mime.extension(type)
     84 
     85 Get the default extension for a content-type.
     86 
     87 <!-- eslint-disable no-undef -->
     88 
     89 ```js
     90 mime.extension('application/octet-stream') // 'bin'
     91 ```
     92 
     93 ### mime.charset(type)
     94 
     95 Lookup the implied default charset of a content-type.
     96 
     97 <!-- eslint-disable no-undef -->
     98 
     99 ```js
    100 mime.charset('text/markdown') // 'UTF-8'
    101 ```
    102 
    103 ### var type = mime.types[extension]
    104 
    105 A map of content-types by extension.
    106 
    107 ### [extensions...] = mime.extensions[type]
    108 
    109 A map of extensions by content-type.
    110 
    111 ## License
    112 
    113 [MIT](LICENSE)
    114 
    115 [coveralls-image]: https://badgen.net/coveralls/c/github/jshttp/mime-types/master
    116 [coveralls-url]: https://coveralls.io/r/jshttp/mime-types?branch=master
    117 [node-version-image]: https://badgen.net/npm/node/mime-types
    118 [node-version-url]: https://nodejs.org/en/download
    119 [npm-downloads-image]: https://badgen.net/npm/dm/mime-types
    120 [npm-url]: https://npmjs.org/package/mime-types
    121 [npm-version-image]: https://badgen.net/npm/v/mime-types
    122 [travis-image]: https://badgen.net/travis/jshttp/mime-types/master
    123 [travis-url]: https://travis-ci.org/jshttp/mime-types