diff --git a/lib/adapters/http.js b/lib/adapters/http.js index 395dd1c..c404679 100644 --- a/lib/adapters/http.js +++ b/lib/adapters/http.js @@ -46,6 +46,12 @@ module.exports = function httpAdapter(resolve, reject, config) { // Parse url var parsed = url.parse(config.url); + if (!auth && parsed.auth) { + var urlAuth = parsed.auth.split(':'); + var urlUsername = urlAuth[0] || ''; + var urlPassword = urlAuth[1] || ''; + auth = urlUsername + ':' + urlPassword; + } var options = { hostname: parsed.hostname, port: parsed.port, diff --git a/test/unit/adapters/http.js b/test/unit/adapters/http.js index 27e0080..7f55083 100644 --- a/test/unit/adapters/http.js +++ b/test/unit/adapters/http.js @@ -113,5 +113,19 @@ module.exports = { test.done(); }); }); - } + }, + + testBasicAuth: function (test) { + server = http.createServer(function (req, res) { + console.log(req.headers); + res.end(req.headers.authorization); + }).listen(4444, function () { + var user = 'foo'; + axios.get('http://' + user + '@localhost:4444/').then(function (res) { + var base64 = new Buffer(user + ':', 'utf8').toString('base64'); + test.equal(res.data, 'Basic ' + base64); + test.done(); + }); + }); + }, };