mirror of
https://github.com/tenrok/axios.git
synced 2026-06-20 20:00:40 +03:00
Fixing Authorization header with basic auth
The http adapater did not remove a custom Authorization header when auth is set.
This commit is contained in:
@@ -62,6 +62,10 @@ module.exports = function httpAdapter(config) {
|
|||||||
auth = urlUsername + ':' + urlPassword;
|
auth = urlUsername + ':' + urlPassword;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (auth) {
|
||||||
|
delete headers.Authorization;
|
||||||
|
}
|
||||||
|
|
||||||
var isHttps = parsed.protocol === 'https:';
|
var isHttps = parsed.protocol === 'https:';
|
||||||
var agent = isHttps ? config.httpsAgent : config.httpAgent;
|
var agent = isHttps ? config.httpsAgent : config.httpAgent;
|
||||||
|
|
||||||
|
|||||||
@@ -168,7 +168,8 @@ module.exports = {
|
|||||||
res.end(req.headers.authorization);
|
res.end(req.headers.authorization);
|
||||||
}).listen(4444, function () {
|
}).listen(4444, function () {
|
||||||
var user = 'foo';
|
var user = 'foo';
|
||||||
axios.get('http://' + user + '@localhost:4444/').then(function (res) {
|
var headers = { Authorization: 'Bearer 1234' };
|
||||||
|
axios.get('http://' + user + '@localhost:4444/', { headers: headers }).then(function (res) {
|
||||||
var base64 = new Buffer(user + ':', 'utf8').toString('base64');
|
var base64 = new Buffer(user + ':', 'utf8').toString('base64');
|
||||||
test.equal(res.data, 'Basic ' + base64);
|
test.equal(res.data, 'Basic ' + base64);
|
||||||
test.done();
|
test.done();
|
||||||
@@ -176,6 +177,20 @@ module.exports = {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
testBasicAuthWithHeader: function (test) {
|
||||||
|
server = http.createServer(function (req, res) {
|
||||||
|
res.end(req.headers.authorization);
|
||||||
|
}).listen(4444, function () {
|
||||||
|
var auth = { username: 'foo', password: 'bar' };
|
||||||
|
var headers = { Authorization: 'Bearer 1234' };
|
||||||
|
axios.get('http://localhost:4444/', { auth: auth, headers: headers }).then(function (res) {
|
||||||
|
var base64 = new Buffer('foo:bar', 'utf8').toString('base64');
|
||||||
|
test.equal(res.data, 'Basic ' + base64);
|
||||||
|
test.done();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
testMaxContentLength: function(test) {
|
testMaxContentLength: function(test) {
|
||||||
var str = Array(100000).join('ж');
|
var str = Array(100000).join('ж');
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user