Database to mime-format based on content-type header and content
npm install mime-formatSimple module to lookup the base format of HTTP response bodies from the content-type header. This module helps disambiguate the nature of the content, especially between text/ and application/. The basic seven content type bases as defined RFC1341 are:
- text
- multipart
- message
- image
- audio
- video
- application
However, from the content-type base, it is not easy to determine which formats are exactly "textual" in nature. For example, "text/json" as well as "application/json" are textual. This module disambiguates the same by maintaining a database of textual contents served over "application/*" content types.
``terminal`
npm install mime-format --save-dev;
`javascript`
var mimeFormat = require('mime-format');
console.log(mimeFormat.lookup('application/xml; charset=gBk'));
// outputs
// {
// "type": "text",
// "format": "xml"
// "charset": "gBk"
// }
When the content type is not in internal db, it looks for keywords in content type for best match. Under those
circumstances, you will see a guessed: true property returned. In case even guess failed, you get unknown: true andformat: 'raw' will be sent.
If the contentType argument is not a string, then the detection is attempted by typecasting it to String.
Format is a secondary information for type: 'text' and 'embed. For texts, the format highlights what syntax the textraw`. For most cases this
is in. Additionally, it doubles up to let you know text was not detected by returning value
is redundant.
- text
- image
- audio
- video
- embed
- message
- multipart
- unknown
- audio
- video
- image
- plain
- script
- stylesheet
- jsonp
- json
- xml
- html
- yaml
- vml
- webml
- raw