多段信件解析器
这是一个用于解析MIME多段消息的库, 如用于 HTTP 请求和电子邮件消息,以 TypeScript 书写. 它提供了一个 返回每个解析页眉和正文的易用自动同步生成器 包含在多段信息中。 支持嵌入多段消息.
特征
- 根据 规格
- 支持嵌入多段消息
- 轻而易举
- 以 TypeScript 写成, 但也可以使用 Plain JavaScript
- 测试良好
* 安装
您可以使用其中之一安装库 npm 或者说 yarn数字 :
npm install @apeleghq/multipart-parser
yarn add @apeleghq/multipart-parser
使用量
库导出函数 parseMultipartMessage,它返回一个同步
与信头和身体一起产生物体的生成器(作为 Uint8Array(单位:千美元)
多段信息中的每一部分.
• API
parseMultipartMessage(stream: ReadableStream, boundary: string): AsyncGenerator
此函数需要 ReadableStream 和一个边界字符串作为参数
返回以下列方式生成对象的同步生成器
属性 :
headers(单位:千美元)Headers含有当前部分标题的对象body(单位:千美元)Uint8Array包含当前部分正文,或null若为 部分为空.parts: 具有相同结构的嵌入式传动器,用于在 当前部分,如果该部分是Content-Type页眉表示为 多段信息 (中文(简体) ).
boundaryRegex: RegExp
用于验证边界字符串的正则表达式.
boundaryMatchRegex: RegExp
一个正则表达式,可用于从一个
Content-Type 头曰.
encodeMultipartMessage(boundary: string, msg: AsyncIterable<TDecodedMultipartMessage>): ReadableStream<ArrayBuffer>
此函数以边框字符串和一系列消息作为参数并返回 a ReadableStream 可读取以获取多段消息.
TDecodedMultipartMessage 被定义为具有下列字段的对象:
headers(单位:千美元)Headers含有当前部分标题的对象body(可选) : 本部分正文,或null如果该部分是 空无相. 它可以是下列任何一种类型:ArrayBuffer, (中文(简体) ),Blob, (中文(简体) ),ReadableStream或任何输入的数组,例如Uint8Array。 。 。 .parts(可选) : 一个或多个元素的同步或同步可移动 类型相同(TDecodedMultipartMessage),用于嵌入式消息. 如果两者兼有body财务报告和审定财务报表parts具体说明,body以优先为准.
示例
import { parseMultipartMessage } from '@apeleghq/multipart-message-parser';
const decoder = new TextDecoder();
const stream = ... // a ReadableStream containing the multipart message
const boundary = 'my-boundary'; // the boundary of the multipart message
for await (const part of parseMultipartMessage(stream, boundary)) {
console.log(part.headers.get('content-type'));
console.log(decoder.decode(part.body));
}
捐款
我们欢迎为这个项目提供捐款! 自由提出拉拉请求或 如果您找到错误或有特性请求,则打开一个问题.
许可证
图书馆持有ICC许可证,详情见LICENSE 资料.