gpt4 book ai didi

node.js - 有没有使用http2的类似 "request"的包?

转载 作者:可可西里 更新时间:2023-11-01 16:36:47 26 4
gpt4 key购买 nike

我们正在使用 request在上类。我们现在可以访问 http2 来处理服务器到服务器的请求。

你知道任何与使用 http2 的请求具有相同 api (ish) 的 Node 包吗?

最佳答案

我遇到了同样的问题,找不到模块。这不是一个好的解决方案,但您可以修改request 模块以添加http2。由于没有人提供更好的答案,因此值得一提。

这是我做的:

将 http2 作为 bool 值添加到传递给 request 的选项对象。

在 node_modules/request 中运行:

npm install http2

打开 node_modules/request/request.js

在靠近顶部的某处需要 http2 模块:

, http2 = require('http2')

确保 request 不添加“主机” header (在 HTTP2 中已弃用,如果另一端使用 http2 Node 模块会导致错误),因此将第 304 行(左右)更改为:

if (!self.hasHeader('host') && !options.http2) {

将 http2 模块添加到第 468 行(左右)的对象声明中,使其变为:

, defaultModules = {'http:':http, 'https:':https, 'http2': http2}

然后让请求在上一行的变量声明之后使用新模块。将此添加到第 471 行(或左右):

  if (options.http2) {
protocol = 'http2';
}

应用程序的其余部分可以保持不变,如果未设置 options.http2,则request 的行为与往常一样。

在一项非常不科学的测试中,我发现进行此更改后,一项服务的吞吐量增加了大约 25%。

关于node.js - 有没有使用http2的类似 "request"的包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37653110/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com