@dotcom-reliability-kit/serialize-request

中文文档
5.0.2发布于 2026/11/11MITTypeScriptES Module零依赖近 30 天下载 4411

以对日志、查看引擎和转换到JSON的方式序列化请求对象的功能

中文使用文档
文档目录7 节
  1. 使用量
  2. serializeRequest
  3. 配置选项
  4. SerializedRequest 类型
  5. 移动
  6. 捐款
  7. 许可证

@dotcom-可靠性-kit/序列化-请求

串行请求对象的效用函数( E)快递 或者说 来信)以对伐木机,取景引擎友好的方式,并转换为JSON. 此模块是 FT.com 可靠性工具包。 。 。 .

使用量

安装 @dotcom-reliability-kit/serialize-request 作为依附关系:

npm install --save @dotcom-reliability-kit/serialize-request

在代码中包含 :

import serializeRequest from '@dotcom-reliability-kit/serialize-request';

[TIP] 如果您使用此软件包并带有 TypeScript , 我们建议您使用以下设置: tsconfig.json 避免类型错误的文件 :

{
    "esModuleInterop": true,
    "module": "nodenext",
    "moduleResolution": "nodenext"
}

serializeRequest

这个 serializeRequest 函数接受类似请求的对象(例如: Express.Request 对象 method 财务报告和审定财务报表 url 属性)并返回一个普通 JavaScript 对象(符合 SerializedRequest 类型包含相关属性。 下面的例子假设: app 是快取应用程序 :

app.get('/fruit/:fruitId', (request, response, next) => {
    console.log(serializeRequest(request));
    next();
});
// {
//     id: 'request137',
//     method: 'GET',
//     url: '/fruit/feijoa',
//     headers: {
//         accept: '*/*'
//     },
//     route: {
//         path: '/fruit/:fruitId',
//         params: { fruitId: 'feijoa' }
//     }
// }

您也可以在普通对象中通过, 如果您已经有一个类似请求的对象:

serializeRequest({
    method: 'get',
    url: '/hello'
});

配置选项

配置选项可以传递到 serializeRequest 函数作为第二个参数。 它期望一个有下面任何密钥的物体.

serializeRequest(request, {
    // Config options go here
});

options.includeHeaders

在序列化的请求对象中包含一系列请求头。 这一定是个 Array 联 合 国 Strings,每个字符串为页眉名. 重要的是,你不包括包括个人识别信息、API密钥或其他特权信息在内的信头.

此选项默认为 :

[
    'accept',
    'accept-encoding',
    'accept-language',
    'content-type',
    'referer',
    'user-agent'
]

使用实例:

serializeRequest(request, {
    includeHeaders: [
        'accept',
        'content-length',
        'content-type',
        'user-agent'
    ]
});

默认的套头也可以使用,所以如果想要添加新的包含头则不需要重复. 它可以作为 DEFAULT_INCLUDED_HEADERS数字 :

import serializeRequest, { DEFAULT_INCLUDED_HEADERS } from '@dotcom-reliability-kit/serialize-request';

serializeRequest(request, {
    includeHeaders: [
        ...DEFAULT_INCLUDED_HEADERS,
        'my-custom-header'
    ]
});

SerializedRequest 类型

这个 SerializedRequest 类型文档的返回值 serializeRequest 函数。它将具有以下属性,从给定的请求对象中提取它们.

SerializedRequest.id

这取自于 request.headers['x-request-id'] 总是被扔到一个 String默认 null。 。 。 .

SerializedRequest.method

这取自于 request.method 总是被扔到一个 String 并切换到大写。 默认为 "-"。 。 。 .

SerializedRequest.url

这取自于 request.url 总是被扔到一个 String默认 "/"。 。 。 .

SerializedRequest.headers

这取自于 request.headers 属性,并被过滤到仅包含在 includeHeaders 选项。默认为空对象.

SerializedRequest.route

这是从 request.route.path (字符串)和 request.params (对象)如果它们存在并且符合下列特性: Express 请求对象默认 undefined。 。 。 .

移动

咨询 移徙指南 如果你想要迁移到这个软件包的后期主要版本.

捐款

见 可靠性工具包中心贡献指南。 。 。 .

许可证

凭 麻省理工学院 执照.
版权:"2022","金融时报"有限公司.

版本与发布记录

@dotcom-reliability-kit/serialize-request 共发布 25 个版本,首次发布于 2022/05/25;过去 12 个月发布了 4 个版本。

版本发布日期距今
5.0.2latest2026/11/112 天前
5.0.12026/07/144 个月前
5.0.02026/06/234 个月前
5.0.0-beta.1prerelease2026/06/035 个月前
4.2.02025/10/291 年前
4.1.02025/05/081.5 年前

关于 @dotcom-reliability-kit/serialize-request 的常见问题

@dotcom-reliability-kit/serialize-request 是什么?

以对日志、查看引擎和转换到JSON的方式序列化请求对象的功能

如何安装 @dotcom-reliability-kit/serialize-request?

在项目目录运行 npm install @dotcom-reliability-kit/serialize-request,或使用 pnpm add / yarn add / bun add。

@dotcom-reliability-kit/serialize-request 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@dotcom-reliability-kit/serialize-request 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@dotcom-reliability-kit/serialize-request 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js ^22.12 || ^24 || ^26。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@dotcom-reliability-kit/serialize-request 可以商用吗?

@dotcom-reliability-kit/serialize-request 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@dotcom-reliability-kit/serialize-request 的下载量有多少?

根据 npm 官方下载统计,@dotcom-reliability-kit/serialize-request 在 2026/10/13 – 2026/11/11 这 30 天内被下载 4,411 次,日均约 147 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@dotcom-reliability-kit/serialize-request 还在维护吗?

最新版本 5.0.2 发布于 2026/11/11(2 天前);至今共发布 25 个版本,其中过去 12 个月发布了 4 个;首次发布于 2022/05/25。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。