axios Brotli在Bun中无法使用,而且我在文档中看不到session正在讨论如何解决这个问题,

8dtrkrch  于 5个月前  发布在  iOS
关注(0)|答案(3)|浏览(102)

描述bug

Axios 在运行 bun 时,没有使用 Brotli 对请求进行解压缩。

重现步骤

在 bun 和 node 中运行此代码,它们的行为不同,因为 bun 在其 zlib 中没有 Brotli 支持,所以我们需要其他实现方法,直到 bun 能够在其 zlib 中添加对 Brotli 的支持。

代码片段

const axios = require('axios');

let url = 'https://abc.com'
let extra = url + '&aaa'
axios.get(extra, {
  headers: {
    'Accept-Encoding': 'gzip, deflate, br',
  },
})
.then(response => {
    console.log(response.data);
})
.catch(error => {
  console.error(error);
});

预期行为

代码应该自动解压缩。

axios 版本

1.6.2

适配器版本

???

浏览器

Bun/Node

浏览器版本

1.0.11/v20.8.1

Node.js 版本

v20.8.1

OS

Linux toolbox 6.5.11-300.fc39.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Nov 8 22:37:57 UTC 2023 x86_64 GNU/Linux

其他库版本

Nobody else

其他上下文/截图

  • 无响应*
shyt4zoc

shyt4zoc1#

Bun还没有实现对Brotli的支持,这是一个Bun的bug,而不是Axios的bug。

$x_{1}e^{0f_1}$

qcbq4gxm

qcbq4gxm2#

所以,是否存在其他从C++或Rust实现的绑定?我不同意你的观点,这个问题在16个月前就已经提出,并且影响了Axios在项目迁移到Bun时的准确行为。是的,更好的方法应该是Bun团队实现这个绑定以节省时间给社区,但实际上

  1. 当我们使用这个库时,我们遇到了一个问题
  2. Axios的准确行为需要Brotli的支持,我的意思是Chrome在7年前就开始支持Brotli了,这并不是地球上唯一的Brotli实现
  3. 开源团队应该沟通这些问题,在这种情况下,Axios和Bun都参与了这个问题
    我只是希望两个团队至少讨论过这个问题,因为在其他地方,两个团队都会做错事情
xmjla07d

xmjla07d3#

Bun尚未实现对Brotli的支持——这是Bun的bug,而不是Axios的bug。
oven-sh/bun#267
现在Bun在node:zlib模块中实现了Brotli API:ʘ‿ʘ 🎉🎉

相关问题