bw-cli
Version:
The Brightwork (bw) command line deployment tool. Build & deploy serverless RESTful APIs in minutes.
57 lines (42 loc) • 1.46 kB
JavaScript
;
const path = require('path');
const _ = require('lodash');
const fs = require('fs');
module.exports = function() {
global.appPath = path.dirname(require.main.filename);
global.workingPath = process.cwd();
global.settingsPath = global.workingPath + '/.bw.json'
if(fs.existsSync(global.settingsPath)){
global.settings = JSON.parse(fs.readFileSync(global.settingsPath, 'utf8'));
} else {
global.settings = { api: 'http://api.brightwork.io' };
}
global.authenticate = function(request){
if (settings.token) {
var auth = "Bearer " + settings.token;
request.headers = _.merge(
_.defaults(request.headers, {}),
{
"Authorization" : auth
});
} else {
throw new Error('Authentication required, please login first.')
}
return request;
}
global.printError = function printError(err) {
var msg = '';
if (err.message) {
msg = err.message;
}
if (err.error && err.error.raw) {
msg = err.statusCode + ' - ';
msg += util.inspect(err.error.raw.error);
}
if (err.response.body && err.response.statusCode != 401) {
msg = err.response.statusCode + ' - ';
msg += err.response.body.message;
}
console.error('ERROR:', msg);
};
}