Comprehensive MIME type mapping API based on mime-db module.
Install with npm:
npm install mime
npm run test
mime [path_string]
E.g.
> mime scripts/jquery.js
application/javascript
Get the mime type associated with a file, if no mime type is found application/octet-stream
is returned. Performs a case-insensitive lookup using the extension in path
(the substring after the last '/' or '.'). E.g.
var mime = require('mime');
mime.lookup('/path/to/file.txt'); // => 'text/plain'
mime.lookup('file.txt'); // => 'text/plain'
mime.lookup('.TXT'); // => 'text/plain'
mime.lookup('htm'); // => 'text/html'
Sets the mime type returned when mime.lookup
fails to find the extension searched for. (Default is application/octet-stream
.)
Get the default extension for type
mime.extension('text/html'); // => 'html'
mime.extension('application/octet-stream'); // => 'bin'
Map mime-type to charset
mime.charsets.lookup('text/plain'); // => 'UTF-8'
(The logic for charset lookups is pretty rudimentary. Feel free to suggest improvements.)
Custom type mappings can be added on a per-project basis via the following APIs.
Add custom mime/extension mappings
mime.define({
'text/x-some-format': ['x-sf', 'x-sft', 'x-sfml'],
'application/x-my-type': ['x-mt', 'x-mtt'],
// etc ...
});
mime.lookup('x-sft'); // => 'text/x-some-format'
The first entry in the extensions array is returned by mime.extension()
. E.g.
mime.extension('text/x-some-format'); // => 'x-sf'
Load mappings from an Apache ".types" format file
mime.load('./my_project.types');
The .types file format is simple - See the types
dir for examples.
# mime Comprehensive MIME type mapping API based on mime-db module. ## Install Install with [npm](http://github.com/isaacs/npm): npm install mime ## Contributing / Testing npm run test ## Command Line mime [path_string] E.g. > mime scripts/jquery.js application/javascript ## API - Queries ### mime.lookup(path) Get the mime type associated with a file, if no mime type is found `application/octet-stream` is returned. Performs a case-insensitive lookup using the extension in `path` (the substring after the last '/' or '.'). E.g. ```js var mime = require('mime'); mime.lookup('/path/to/file.txt'); // => 'text/plain' mime.lookup('file.txt'); // => 'text/plain' mime.lookup('.TXT'); // => 'text/plain' mime.lookup('htm'); // => 'text/html' ``` ### mime.default_type Sets the mime type returned when `mime.lookup` fails to find the extension searched for. (Default is `application/octet-stream`.) ### mime.extension(type) Get the default extension for `type` ```js mime.extension('text/html'); // => 'html' mime.extension('application/octet-stream'); // => 'bin' ``` ### mime.charsets.lookup() Map mime-type to charset ```js mime.charsets.lookup('text/plain'); // => 'UTF-8' ``` (The logic for charset lookups is pretty rudimentary. Feel free to suggest improvements.) ## API - Defining Custom Types Custom type mappings can be added on a per-project basis via the following APIs. ### mime.define() Add custom mime/extension mappings ```js mime.define({ 'text/x-some-format': ['x-sf', 'x-sft', 'x-sfml'], 'application/x-my-type': ['x-mt', 'x-mtt'], // etc ... }); mime.lookup('x-sft'); // => 'text/x-some-format' ``` The first entry in the extensions array is returned by `mime.extension()`. E.g. ```js mime.extension('text/x-some-format'); // => 'x-sf' ``` ### mime.load(filepath) Load mappings from an Apache ".types" format file ```js mime.load('./my_project.types'); ``` The .types file format is simple - See the `types` dir for examples.
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 19553 | swellard | Move and rename clients | ||
//guest/perforce_software/helix-web-services/main/source/clients/2016.1.0/javascript/node_modules/mime/README.md | |||||
#1 | 18810 | tjuricek |
First-pass at JavaScript client SDK. JavaScript requires Node with Gulp to "browserfy" the library. It's the easiest way I found to use the swagger-js project; bundle up a wrapping method. There is no JavaScript reference guide. The swagger-js doesn't really document what they do very well, actually. Overall I'm not particularly impressed by swagger-js, it was hard to even figure out what the right method syntax was. We may want to invest time in doing it better. This required setting CORS response headers, which are currently defaulted to a fairly insecure setting. |