@chubbyts/chubbyts-http-error

中文文档
3.6.0发布于 2026/11/08MITTypeScriptES Module零依赖近 30 天下载 1697

Creates http error which can be catched and converted to error responses.

原始使用文档
文档目录7 节
  1. Description
  2. Requirements
  3. Installation
  4. Usage
  5. Data
  6. Error middleware
  7. Copyright

chubbyts-http-error

CI Coverage Status Mutation testing badge npm-version

bugs code_smells coverage duplicated_lines_density ncloc sqale_rating alert_status reliability_rating security_rating sqale_index vulnerabilities

Description

Creates http error which can be catched and converted to error responses.

Requirements

  • node: 22

Installation

Through NPM as @chubbyts/chubbyts-http-error.

npm i @chubbyts/chubbyts-http-error@^3.6.0

Usage

import { createNotFound } from '@chubbyts/chubbyts-http-error/http-error';

try {
  throw createNotFound({ detail: 'Something went wrong', instance: 'server-1', otherKey: 'otherValue' });
} catch (e) {
  console.log(e);
}

Data

  • detail, instance: problem details (RFC 9457)
  • headers: the headers the error middleware should set on the error response (e.g. www-authenticate, allow, retry-after), never part of the body
  • any other key: additional problem details, keys with an undefined value get skipped, reserved keys (type, status, title, ...) get ignored

Error middleware

import { isHttpError } from '@chubbyts/chubbyts-http-error/http-error';

const errorMiddleware: Middleware = async (request, handler) => {
  try {
    return await handler(request);
  } catch (e) {
    if (isHttpError(e)) {
      const { headers, _httpError, ...body } = e;

      return new Response(JSON.stringify(body), {
        status: e.status,
        headers: { 'content-type': 'application/problem+json', ...headers },
      });
    }

    throw e;
  }
};

2026 Dominik Zogg

版本与发布记录

@chubbyts/chubbyts-http-error 共发布 27 个版本,首次发布于 2022/06/03;过去 12 个月发布了 12 个版本。

版本发布日期距今
3.6.0latest2026/11/081 天前
3.5.12026/10/2021 天前
3.5.02026/08/312 个月前
3.4.12026/08/033 个月前
3.4.02026/07/263 个月前
3.3.02026/05/106 个月前

关于 @chubbyts/chubbyts-http-error 的常见问题

@chubbyts/chubbyts-http-error 是什么?

Creates http error which can be catched and converted to error responses.

如何安装 @chubbyts/chubbyts-http-error?

在项目目录运行 npm install @chubbyts/chubbyts-http-error,或使用 pnpm add / yarn add / bun add。

@chubbyts/chubbyts-http-error 支持 TypeScript 吗?

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

@chubbyts/chubbyts-http-error 支持 ESM 还是 CommonJS?

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

@chubbyts/chubbyts-http-error 需要什么版本的 Node.js?

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

@chubbyts/chubbyts-http-error 可以商用吗?

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

@chubbyts/chubbyts-http-error 的下载量有多少?

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

@chubbyts/chubbyts-http-error 还在维护吗?

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