@derhuerst/http-basic

中文文档
8.2.4发布于 2022/07/04MITTypeScriptCommonJS近 30 天下载 1285万

极低水平包装圆形 http.request/https.request

中文使用文档
文档目录4 节
  1. 安装
  2. 使用量
  3. 执行缓存
  4. 许可证

网页

这是临时叉子 ForbesLindesay/http-basic。 。 。 .


简单包装 http.request/https.request

Build Status Dependency Status NPM version

安装

npm install http-basic

使用量

var request = require('http-basic');

var options = {followRedirects: true, gzip: true, cache: 'memory'};

var req = request('GET', 'http://example.com', options, function (err, res) {
  if (err) throw err;
  console.dir(res.statusCode);
  res.body.resume();
});
req.end();

方法 :

Http方法(例如:. GET, (中文(简体) ), POST, (中文(简体) ), PUT, (中文(简体) ), DELETE (例如)

url : (中文(简体) )

Url作为字符串(例如. http://example.com) (中文(简体) ). 它必须是完全合格的,无论是https还是https.

选项:

  • headers - (违约) {}) http页眉
  • agent - (默认: false控制器保持活性(见 http://nodejs.org/api/http.html#http http request options callback (中文(简体) )(中文(简体) )
  • duplex - (默认: true 除外 GET, (中文(简体) ), OPTIONS 财务报告和审定财务报表 HEAD 请求)允许您在请求上明确设置一个机构,使用通常没有机构的方法
  • followRedirects - (默认: false) - 如果真实,则遵循方向调整(注意这只影响回调的结果)
  • maxRedirects - (默认: Infinity) - 限制允许的重定向次数.
  • allowRedirectHeaders (默认 : null) - 允许重定向(如果 null) (中文(简体) ).
  • gzip (默认 : false) - 自动接受gzip并分解编码. 这对用户完全透明.
  • cache - (默认: null) - (英语) 'memory' 或者说 'file' 来使用缓存中构建的默认值,或者您可以通过自己的缓存执行.
  • timeout (默认 : false- 如果在给定的毫秒数内没有回复,则取消.
  • socketTimeout (默认 : false- 打电话 req.setTimeout 如果未看到给定的毫秒数的新数据,则内部会暂停请求.
  • retry (默认 : false) - 重试获得请求. 设定为 true 当请求错误或返回一个大于或等于400的状态代码时重试(也可以是一个需要的函数) (err, req, attemptNo) => shouldRetry(中文(简体) )
  • retryDelay (默认 : 200) - 复试之间的延迟(也可以设定为需要 (err, res, attemptNo) => delay(中文(简体) )
  • maxRetries (默认 : 5)——放弃前重试的次数.
  • ignoreFailedInvalidation (默认 : false) - 如果存在删除缓存响应的问题,缓存是否应当吞入错误. 注意启用此设置可能导致不正确的缓存数据返回用户 .
  • isMatch - 说吧 (requestHeaders: Headers, cachedResponse: CachedResponse, defaultValue: boolean) => boolean - 测试缓存回复是否与请求相匹配的默认行为.
  • isExpired - 说吧 (cachedResponse: CachedResponse, defaultValue: boolean) => boolean - 测试缓存回复是否过期的默认行为
  • canCache - 说吧 (res: Response<NodeJS.ReadableStream>, defaultValue: boolean) => boolean - 超越默认行为以测试是否能够缓存一个响应

回调 :

召回是用 err 作为第一个论点 res 作为第二个论点. res 是一个 http-应答对象它具有以下属性:

  • statusCode - 代表HTTP状态代码的数字
  • headers - 代表 HTTP 信头的对象
  • body - 可读流 重现请求体.
  • url - 请求的 URL( 如果是重定向, 这是请求的最后 URL)

返回 :

如果这种方法是 GET, (中文(简体) ), DELETE 或者说 HEAD返回时 undefined。 。 。 .

否则, 它返回请求正文的可写流 .

执行缓存

A 类 Cache 是一个具有三种方法的对象:

  • getResponse(url, callback) - 获取缓存的响应对象
  • setResponse(url, response) - 缓存响应对象
  • invalidateResponse(url, callback) - 删除不再有效的回复

缓存响应对象是一个具有下列属性的对象:

  • statusCode - 人数
  • headers - 对象(串键值对)
  • body - 流(二进制数据流)
  • requestHeaders - 对象(串键值对)
  • requestTimestamp - 人数

getResponse 应使用可选错误调用回调符, 且其中之一 null 或缓存的响应对象,取决于在缓存中是否可以找到url. 仅 GETs为缓存.

setResponse 只需吞入任何错误( 或使用 console.warn) (中文(简体) ).

invalidateResponse 如果无法使回复无效,则应当以可选错误调用回调.

缓存还可以定义来自 lib/cache-utils.js 以覆盖被缓存的行为。 目前仍然只能缓存"获得"请求,尽管这可以被更改.

许可证

麻省理工学院

版本与发布记录

@derhuerst/http-basic 共发布 5 个版本,首次发布于 2020/04/06;过去 12 个月发布了 0 个版本。

版本发布日期距今
8.2.4latest2022/07/044 年前
8.2.32022/06/274 年前
8.2.22022/01/034 年前
8.2.12020/09/166 年前
8.2.02020/04/066 年前

关于 @derhuerst/http-basic 的常见问题

@derhuerst/http-basic 是什么?

极低水平包装圆形 http.request/https.request

如何安装 @derhuerst/http-basic?

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

@derhuerst/http-basic 支持 TypeScript 吗?

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

@derhuerst/http-basic 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@derhuerst/http-basic 需要什么版本的 Node.js?

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

@derhuerst/http-basic 可以商用吗?

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

@derhuerst/http-basic 的下载量有多少?

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

@derhuerst/http-basic 还在维护吗?

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