Skip to content

Commit 74093f9

Browse files
committed
add support for auth
1 parent ba1bc16 commit 74093f9

File tree

5 files changed

+33
-7
lines changed

5 files changed

+33
-7
lines changed

lib/download.js

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ var object = require('mout/object');
44
var retry = require('retry');
55
var fs = require('graceful-fs');
66
var createError = require('./createError');
7+
var utils = require('./utils');
78
var url = require('url')
89
var request = require('request');
910
var tmp = require('tmp');
@@ -37,12 +38,17 @@ function download(requestUrl, downloadPath, config) {
3738
maxTimeout: 35000,
3839
randomize: true
3940
}, config.retry || {});
40-
41+
42+
var auth = "Basic " + utils.getAuthToken(config);
43+
4144
var _request = request.defaults({
4245
proxy: parsedUrl.protocol === 'https:' ? config.httpsProxy : config.proxy,
4346
strictSSL: config.strictSsl,
44-
timeout: config.timeout
45-
})
47+
timeout: config.timeout,
48+
headers : {
49+
"Authorization" : auth
50+
}
51+
});
4652

4753
_request = _request.defaults(config.request || {})
4854

lib/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ module.exports = function resolver (bower) {
4848

4949
var fragments = getFragments(endpoint.source);
5050
var pkgFragment = fragments.repositoryName.split('/').join('/-/');
51+
5152
var downloadUrl = utils.getNexusRegistry(bower.config) + pkgFragment + '-' + endpoint.target + '.tgz';
5253
var downloadPath = tmp.dirSync();
5354

lib/request.js

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,24 @@
11
var request = require('request');
22
var Q = require('q');
33
var url = require('url');
4+
var utils = require('./utils');
45
var object = require('mout/object');
56
var createError = require('./createError');
67

78
function requestWrapper(requestUrl, config) {
89
var deferred = Q.defer();
910

1011
var protocol = url.parse(requestUrl).protocol;
11-
12+
13+
var auth = "Basic " + utils.getAuthToken(config);
14+
1215
var _request = request.defaults({
1316
proxy: protocol === 'https:' ? config.httpsProxy : config.proxy,
14-
strictSSL: config.strictSsl,
15-
timeout: config.timeout
17+
strictSSL: false,
18+
timeout: config.timeout,
19+
headers : {
20+
"Authorization" : auth
21+
}
1622
})
1723

1824
_request = _request.defaults(config.request || {})
@@ -21,6 +27,7 @@ function requestWrapper(requestUrl, config) {
2127
if (error) {
2228
deferred.reject(createError('Request to ' + requestUrl + ' failed: ' + error.message, error.code));
2329
} else {
30+
console.log('laencore');
2431
if (response.statusCode === 200) {
2532
deferred.resolve(body);
2633
} else {

lib/utils.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,17 @@ function extractReleases(response) {
3636
return res;
3737
}
3838

39+
function getAuthToken(config) {
40+
if (!config.auth) {
41+
throw createError('Authentication token not configured', 'ENOAUTHTOKEN', {
42+
details: 'You need to set the authentication token with `auth` field in .bowerrc'
43+
});
44+
} else {
45+
return config.auth;
46+
}
47+
return
48+
}
49+
3950
function getRegistryUrl(config) {
4051
var registryUrl = config.registry.register;
4152

@@ -86,3 +97,4 @@ exports.getRegistryUrl = getRegistryUrl;
8697
exports.getRepositoryName = getRepositoryName;
8798
exports.NEXUS_PREFIX = NEXUS_PREFIX;
8899
exports.getNexusRegistry = getNexusRegistry;
100+
exports.getAuthToken = getAuthToken;

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "bower-nexus-resolver",
3-
"version": "0.2.5",
3+
"version": "0.3.0",
44
"description": "Almost a Nexus Bower resolver",
55
"main": "./lib/index.js",
66
"dependencies": {

0 commit comments

Comments
 (0)