npm.io
3.0.0 • Published 3d ago

content-type

Licence
MIT
Version
3.0.0
Deps
0
Size
22 kB
Vulns
0
Weekly
0
Stars
144

content-type

NPM version NPM downloads Build status Build coverage License

Create and parse HTTP Content-Type header.

Installation

npm install content-type

API

import * as contentType from "content-type";
contentType.parse(string, options?)
const obj = contentType.parse("image/svg+xml; charset=utf-8");

Parse a Content-Type header. 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. Example: 'image/svg+xml'.
  • parameters: An object of the parameters in the media type (parameter name is always lower case). Example: {charset: 'utf-8'}.

The parser is lenient and does not error. You should validate type and parameters before trusting them.

Options
  • parameters (default: true): Set to false to skip parameters.
  • comma (default: false): Set to true to stop on a comma. This can be used to parse the media range in an Accept header.
  • start (default: 0): Set index to start parsing from.
contentType.format(obj)
const str = contentType.format({
  type: "image/svg+xml",
  parameters: { charset: "utf-8" },
});

Format an object into a Content-Type header. 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. Example: 'image/svg+xml'.
  • parameters: An optional object of the parameters in the media type. Example: {charset: 'utf-8'}.

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

License

MIT

Keywords