return api_server + ':' + CONFD_PORT;
};
+var projectContextUrl = function(req, url) {
+ if (req.session && req.session.projectId) {
+ return url.replace(/(\/api\/operational\/|\/api\/config\/|\/api\/operations\/)(.*)/, '$1project/pname/$2');
+
+ }
+ return url;
+}
+
var validateResponse = function(callerName, error, response, body, resolve, reject) {
var res = {};
var checkAuthorizationHeader = function(req) {
return new Promise(function(resolve, reject) {
- if (req.get('Authorization') == null) {
+ if (req.session && req.session.authorization == null) {
reject();
} else {
resolve();
}
new Promise(function(resolve, reject) {
request({
- uri: uri,
+ uri: projectContextUrl(req, uri),
method: 'GET',
headers: _.extend({}, CONSTANTS.HTTP_HEADERS.accept[type], {
- 'Authorization': req.get('Authorization'),
+ 'Authorization': req.session && req.session.authorization,
forever: CONSTANTS.FOREVER_ON,
rejectUnauthorized: false,
})
});
}
-
-var testAuthentication = function(app) {
- app.get('/check-auth', function(req, res) {
- console.log('testing auth')
- var api_server = req.query["api_server"];
- var uri = confdPort(api_server) + '/api/config/';
- new Promise(function(resolve, reject) {
- request({
- uri: uri,
- method: 'GET',
- headers: _.extend({}, CONSTANTS.HTTP_HEADERS.accept[type], {
- 'Authorization': req.get('Authorization'),
- forever: CONSTANTS.FOREVER_ON,
- rejectUnauthorized: false,
- })
- }, function(error, response, body) {
- if (validateResponse('Passthrough: ' + url, error, response, body, resolve, reject)) {
- resolve(JSON.parse(response.body))
- };
- });
- }).then(function(data) {
- res.send(data);
- }, function(error) {
- res.send({'error': error, uri: uri})
- });;
- })
+var getPortForProtocol = function(protocol) {
+ switch (protocol) {
+ case 'http':
+ return 8000;
+ case 'https':
+ return 8443;
+ }
}
module.exports = {
passThroughConstructor: passThroughConstructor,
- testAuthentication: testAuthentication
+ getPortForProtocol: getPortForProtocol,
+
+ projectContextUrl: projectContextUrl
};