描述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
其他上下文/截图
- 无响应*
3条答案
按热度按时间shyt4zoc1#
Bun还没有实现对Brotli的支持,这是一个Bun的bug,而不是Axios的bug。
$x_{1}e^{0f_1}$
qcbq4gxm2#
所以,是否存在其他从C++或Rust实现的绑定?我不同意你的观点,这个问题在16个月前就已经提出,并且影响了Axios在项目迁移到Bun时的准确行为。是的,更好的方法应该是Bun团队实现这个绑定以节省时间给社区,但实际上
我只是希望两个团队至少讨论过这个问题,因为在其他地方,两个团队都会做错事情
xmjla07d3#
Bun尚未实现对Brotli的支持——这是Bun的bug,而不是Axios的bug。
oven-sh/bun#267
现在Bun在node:zlib模块中实现了Brotli API:ʘ‿ʘ 🎉🎉