content-type

Create and parse HTTP Content-Type header according to RFC 7231

# Installation

$ npm install content-type

# API

var contentType = require('content-type')

## contentType.parse(string)

var obj = contentType.parse('image/svg+xml; charset=utf-8')

Parse a content type string. This will return an object with the following properties (examples are shown for the string ‘'image/svg+xml; charset=utf-8’`):

- `type`: The media type (the type and subtype, always lower case). Example: ‘'image/svg+xml’`
- `parameters`: An object of the parameters in the media type (name of parameter always lower case). Example: ‘{charset: 'utf-8’}`

Throws a `TypeError` if the string is missing or invalid.

## contentType.parse(req)

var obj = contentType.parse(req)

Parse the `content-type` header from the given `req`. Short-cut for ‘contentType.parse(req.headers['content-type’])`.

Throws a `TypeError` if the `Content-Type` header is missing or invalid.

## contentType.parse(res)

var obj = contentType.parse(res)

Parse the `content-type` header set on the given `res`. Short-cut for ‘contentType.parse(res.getHeader('content-type’))`.

Throws a `TypeError` if the `Content-Type` header is missing or invalid.

## contentType.format(obj)

var str = contentType.format({type: 'image/svg+xml'})

Format an object into a content type string. This will return a string of the content type for the given object with the following properties (examples are shown that produce the string ‘'image/svg+xml; charset=utf-8’`):

- `type`: The media type (will be lower-cased). Example: ‘'image/svg+xml’`
- `parameters`: An object of the parameters in the media type (name of the parameter will be lower-cased). Example: ‘{charset: 'utf-8’}`

Throws a `TypeError` if the object contains an invalid type or parameter names.

# License

[MIT](LICENSE)