You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The support for config.beforeRedirect introduced a regression of #3369 when both config.beforeRedirect and a proxy are used. Both of them internally set options.beforeRedirect. Moreover, config.beforeRedirect is not re-applied on subsequent redirections.
To Reproduce
Adding the following test in test/unit/adapters/http.js
it('should support beforeRedirect and proxy with redirect',function(done){varrequestCount=0;vartotalRedirectCount=5;server=http.createServer(function(req,res){requestCount+=1;if(requestCount<=totalRedirectCount){res.setHeader('Location','http://localhost:4444');res.writeHead(302);}res.end();}).listen(4444,function(){varproxyUseCount=0;proxy=http.createServer(function(request,response){proxyUseCount+=1;varparsed=url.parse(request.url);varopts={host: parsed.hostname,port: parsed.port,path: parsed.path};http.get(opts,function(res){response.writeHead(res.statusCode,res.headers);res.on('data',function(data){response.write(data)});res.on('end',function(){response.end();});});}).listen(4000,function(){varconfigBeforeRedirectCount=0;axios.get('http://localhost:4444/',{proxy: {host: 'localhost',port: 4000},maxRedirects: totalRedirectCount,beforeRedirect: function(options){configBeforeRedirectCount+=1;}}).then(function(res){assert.equal(totalRedirectCount,configBeforeRedirectCount,'should invoke config.beforeRedirect option on every redirect');assert.equal(totalRedirectCount+1,proxyUseCount,'should go through proxy on every redirect');done();}).catch(done);});});});
Expected behavior
The test should pass, but currently 'should go through proxy on every redirect' assertion fails.
Environment
Axios Version 0.27.2
Adapter HTTP
Browser N/A
Browser Version N/A
Node.js Version N/A
OS: N/A
Additional Library Versions N/A
Additional context/Screenshots
I'm working on a small PR to fix this issue.
The text was updated successfully, but these errors were encountered:
Describe the bug
The support for
config.beforeRedirect
introduced a regression of #3369 when bothconfig.beforeRedirect
and a proxy are used. Both of them internally setoptions.beforeRedirect
. Moreover,config.beforeRedirect
is not re-applied on subsequent redirections.To Reproduce
Adding the following test in
test/unit/adapters/http.js
Expected behavior
The test should pass, but currently 'should go through proxy on every redirect' assertion fails.
Environment
0.27.2
HTTP
N/A
N/A
N/A
N/A
N/A
Additional context/Screenshots
I'm working on a small PR to fix this issue.
The text was updated successfully, but these errors were encountered: