@applitools/http-commons

中文文档
3.0.2发布于 2024/11/13Apache-2.0CommonJS近 30 天下载 1.1万
此软件包已被标记为弃用

this package has been deprecated

中文使用文档
文档目录9 节
  1. 安装
  2. 使用软件包
  3. API 密码
  4. fetchAsBuffer(url, [fetchOptions], [options])
  5. fetchAsText(url, [fetchOptions], [options])
  6. fetchAsTextWithJsonBody(url, json, [fetchOptions], [options…
  7. fetchAsJsonWithJsonBody(url, json, [fetchOptions], [options…
  8. fetchAsBufferWithJsonBody(url, json, [fetchOptions], [optio…
  9. retryFetch(func, options)

http-commons (韩语)

拥有 http 共同功能的图书馆, 围绕 http- 客户端 .

安装

npm install @applitools/http-commons

使用软件包

让我们看看一个例子 fetchAsJson

const {fetchAsJson} = require('@applitools/http-commons')

await fetchAsJson('https://swapi.co/api/people/1/') // ===> {name: "Luke Skywalker", ...}

API 密码

所有这些函数,如果状态代码不是2xx,则丢出一个例外. 解密将具有以下属性:

  • code将会是 'ERR_X_STATUS_CODE_NOT_OK'
  • status: HTTP 状态代码
  • statusText: HTTP 状态文本
  • headers: 带有响应头的对象

fetchAsBuffer(url, [fetchOptions], [options])

async 获取 URL并返回缓冲响应.

url

要获取的 URL .

fetchOptions

获取选项 用于 node-fetch 软件包。 。 。 .

options

有以下备选方案:

alternativeFetch

(用于测试) 用于替代 node-fetch-对 fetch 函数.

返回时

作为JSON解析的响应机构的对象.

示例

await fetchAsJson('https://swapi.co/api/people/1/') // ===> {name: "Luke Skywalker", ...}

fetchAsText(url, [fetchOptions], [options])

async 获取 URL 并返回响应作为字符串.

url

要获取的 URL .

fetchOptions

获取选项 用于 node-fetch 软件包。 。 。 .

options

有以下备选方案:

alternativeFetch

(用于测试) 用于替代 node-fetch-对 fetch 函数.

返回时

有反应机体的绳子.

示例

await fetchAsText('https://www.wikipedia.org')) // ===> "<!DOCTYPE html><html ..."

fetchAsTextWithJsonBody(url, json, [fetchOptions], [options])

async 以 JSON 机构发布 URL, 并将响应作为字符串返回 .

url

要获取的 URL .

fetchOptions

获取选项 用于 node-fetch 软件包。 。 。 . 注意默认选项是 {method: 'POST', body: '_the_json_'},带有正确的 content-type 标题, 但你可以使用 fetchOptions

options

有以下备选方案:

alternativeFetch

(用于测试) 用于替代 node-fetch-对 fetch 函数.

返回时

有反应机体的绳子.

示例

await fetchAsTextWithJsonBody('https://httpbin.org/anything', {x: 4})) // ===> "{..{"x": 4}..}"

fetchAsJsonWithJsonBody(url, json, [fetchOptions], [options])

async 以 JSON 机构发布 URL, 并将响应作为字符串返回 .

url

要获取的 URL .

fetchOptions

获取选项 用于 node-fetch 软件包。 。 。 . 注意默认选项是 {method: 'POST', body: '_the_json_'},带有正确的 content-type 标题, 但你可以使用 fetchOptions

options

有以下备选方案:

alternativeFetch

(用于测试) 用于替代 node-fetch-对 fetch 函数.

返回时

带有被剖析出的身体的"JSON"对象

示例

await fetchAsTextWithJsonBody('https://httpbin.org/anything', {x: 4}, {method: 'PUT'})) // ===> {..{"x": 4}..}

fetchAsBufferWithJsonBody(url, json, [fetchOptions], [options])

async 以 JSON 机构发布 URL, 并将响应作为字符串返回 .

url

要获取的 URL .

fetchOptions

获取选项 用于 node-fetch 软件包。 。 。 . 注意默认选项是 {method: 'POST', body: '_the_json_'},带有正确的 content-type 标题, 但你可以使用 fetchOptions

options

有以下备选方案:

alternativeFetch

(用于测试) 用于替代 node-fetch-对 fetch 函数.

返回时

与反应机体的缓冲.

示例

await fetchAsBufferWithJsonBody('https://httpbin.org/anything', {x: 4})) // ===> Buffer (....)

retryFetch(func, options)

检索代码并正确处理重试HTTP和连接错误.

func

一种叫作 fetch* 以上函数或 fetch 内 node-fetch 直接说.

options

retries

失败前重试次数 .

sleepTime

在复习间睡觉的时间(以毫秒计)

backoff

指标后退系数 sleepTime

idempotent

有些错误,比如 5xx 如果 fetch 操作为一能. 所以这个 旗子上写着操作是否具有知觉能力,以便知道是否要重试.

返回时

随便啦 func 返回时

示例

const json = await retry(() => fetchAsJson('http://httpbin.org/anything'), {idempotent: true})

版本与发布记录

@applitools/http-commons 共发布 43 个版本,首次发布于 2017/10/12;过去 12 个月发布了 0 个版本。

版本发布日期距今
3.0.2latest2024/11/132 年前
3.0.1-fixHttpAgent.12024/11/062 年前
3.0.02023/09/053 年前
2.4.72022/05/304 年前
2.4.52021/09/295 年前
2.4.32020/02/266 年前

关于 @applitools/http-commons 的常见问题

如何安装 @applitools/http-commons?

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

@applitools/http-commons 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/applitools__http-commons 是否存在。

@applitools/http-commons 支持 ESM 还是 CommonJS?

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

@applitools/http-commons 需要什么版本的 Node.js?

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

@applitools/http-commons 可以商用吗?

@applitools/http-commons 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@applitools/http-commons 的下载量有多少?

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

@applitools/http-commons 还在维护吗?

最新版本 3.0.2 发布于 2024/11/13(2 年前);至今共发布 43 个版本,其中过去 12 个月发布了 0 个;首次发布于 2017/10/12。作者已将其标记为弃用,新项目建议寻找替代方案。