gpt4 book ai didi

javascript - 从 Axios 错误响应中删除授权 header 值

转载 作者:行者123 更新时间:2023-12-05 04:52:22 24 4
gpt4 key购买 nike

我使用 Axios 发送了一个导致错误的 HTTP 请求。当我打印错误对象时,它会打印请求,包括授权 header 中的 secret 。

例如

axios.get('https://test.com/404', { headers: { Authorization: 'secret' } }).catch(err => console.log(err));

这会在日志消息中的几个地方打印 secret :

Error: Request failed with status code 463
at createError (/code/node_modules/axios/lib/core/createError.js:16:15)
at settle (/code/node_modules/axios/lib/core/settle.js:17:12)
at IncomingMessage.handleStreamEnd (/code/node_modules/axios/lib/adapters/http.js:236:11)
at IncomingMessage.emit (events.js:215:7)
at IncomingMessage.EventEmitter.emit (domain.js:475:20)
at endReadableNT (_stream_readable.js:1184:12)
at processTicksAndRejections (internal/process/task_queues.js:80:21) {
config: {
...
url: 'https://test.com/404',
method: 'get',
headers: {
Accept: 'application/json, text/plain, */*',
Authorization: 'secret',
'User-Agent': 'axios/0.19.2'
},
},
...
request: ClientRequest {
_header: 'GET /404 HTTP/1.1\r\n' +
'Accept: application/json, text/plain, */*\r\n' +
'Authorization: secret\r\n' +
'User-Agent: axios/0.19.2\r\n' +
'Host: www.test.com\r\n' +
'Connection: close\r\n' +
'\r\n',
},
...
response: {
...
request: ClientRequest {
_header: 'GET /404 HTTP/1.1\r\n' +
'Accept: application/json, text/plain, */*\r\n' +
'Authorization: secret\r\n' +
'User-Agent: axios/0.19.2\r\n' +
'Host: www.test.com\r\n' +
'Connection: close\r\n' +
'\r\n',
},
},
}

我不想在日志消息中打印我的 secret 。有办法避免吗?

最佳答案

我最终使用了 interceptors

axios.interceptors.response.use(_.identity, (error) => {
delete error.config.headers.Authorization;
delete error.request._header;
return Promise.reject(error);
});

这与axios的内部对象相结合,所以它很脆弱并且可能会损坏,但它暂时解决了我的问题。

关于javascript - 从 Axios 错误响应中删除授权 header 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66530059/

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