内容类型
创建和解析HTTP Content-Type 头。
安装
npm install content-type
API
import * as contentType from "content-type";
contentType。parse (string,选项?)
const obj = contentType.parse("image/svg+xml; charset=utf-8");
解析 Content-Type 头。这将返回一个具有以下属性的对象(示例显示了字符串) 'image/svg+xml; charset=utf-8'):
type:媒体类型(总是小写)。例子:'image/svg+xml'。parameters:介质类型参数的对象(参数名总是小写)。例子:{charset: 'utf-8'}。index:解析停止的索引。例子:33。
解析器是宽松的,不会对格式错误的输入进行验证或抛出错误。
选项
parameters(默认值:true):设为false跳过参数。comma(默认值:false):设为true以逗号结尾类中的媒体范围Accept头。start(默认值:0):设置开始解析的索引。
contentType.format (obj)
const str = contentType.format({
type: "image/svg+xml",
parameters: { charset: "utf-8" },
});
将对象格式化为 Content-Type 头。这将为给定对象返回一个内容类型的字符串,具有以下属性(示例显示了产生该字符串的示例) 'image/svg+xml; charset=utf-8'):
type:媒体类型。例子:'image/svg+xml'。parameters:介质类型中参数的可选对象。例子:{charset: 'utf-8'}。
抛出一个 TypeError 如果对象包含无效的类型或参数名。
验证
的验证函数 format:
isTypeValid(str, start?, end?)根据RFC 9110验证MIME类型。isTokenValid(str, start?, end?)根据RFC 9110(用于参数名)验证令牌。
通过 start 和 end 允许验证字符串的子集,而不是使用 str#slice。