apiconnect-cli-login-bluemix
Version:
Plugin for IBM API Connect Developer Toolkit.
66 lines (54 loc) • 1.59 kB
JavaScript
/********************************************************* {COPYRIGHT-TOP} ***
* Licensed Materials - Property of IBM
* 5725-Z22, 5725-Z63, 5725-U33, 5725-Z63
*
* (C) Copyright IBM Corporation 2016, 2017
*
* All Rights Reserved.
* US Government Users Restricted Rights - Use, duplication or disclosure
* restricted by GSA ADP Schedule Contract with IBM Corp.
********************************************************** {COPYRIGHT-END} **/
// Node module: apiconnect-cli-login-bluemix
var rp = require('request-promise');
var Promise = require('bluebird');
var createError = require('http-errors');
var eula = module.exports;
var EULAS_ROUTE = '/eulas';
eula.checkEULA = function(url, eulaName, token) {
var options = {
method: 'GET',
url: EULAS_ROUTE,
baseUrl: url,
gzip: true,
headers: {
authorization: getAuthorization(token),
},
};
return rp(options)
.then(function(body) {
return void 0;
})
.catch(function(res) {
if (res.statusCode === 404 && !res.response.body.match(/^not found$/i)) {
return res.response.body;
}
return Promise.reject(createError(res.statusCode, res.message));
});
};
eula.signEULA = function(url, eulaName, token) {
var options = {
method: 'PUT',
url: EULAS_ROUTE,
baseUrl: url,
headers: {
authorization: getAuthorization(token),
},
};
return rp(options)
.catch(function(res) {
return Promise.reject(createError(res.statusCode, res.message));
});
};
function getAuthorization(token) {
return 'bearer ' + token;
}