if the proxyRes with bad statusCode, how can i retry the proxyRequest.
I want to automatically bring the token when the statusCode is 401 and re-request。 for example:
onResponseInterceptor: (proxyRes, req, res, retry) => {
if (proxyRes.statusCode == 401) {
retry()
}
}
and the retry function is defined by:
this.proxy.on("proxyRes", (proxyRes, req, res) => {
console.log(req.headers);
const retry = async () => {
await this.option.beforeRetry?.(proxyRes, req, res)
const retry = (req.headers['x-retry'] || '0') as string;
req.headers["x-retry"] = (Number(retry) + 1).toString()
this.proxy.web(req, res,{
target: this.option.target,
changeOrigin: true,
selfHandleResponse: true
})
}
this.option.onResponseInterceptor?.(proxyRes, req, res, retry)
})
I tried to re-launch proxy.web() in proxy.on("proxyRes"). But this doesn't work and no second response is received. How do I solve this problem?