3 * Copyright 2016 RIFT.IO Inc
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
18 // DescriptorModelMeta API (NSD + VNFD)
22 var request
= require('request');
23 var Promise
= require('promise');
24 var constants
= require('../../api_utils/constants');
25 var utils
= require('../../api_utils/utils');
26 var _
= require('lodash');
27 var cors
= require('cors');
28 var bodyParser
= require('body-parser');
29 var utils
= require('../../api_utils/utils');
30 var sessionAPI
= require('./sessions.js');
31 var configuration
= require('./configuration');
33 var router
= require('express').Router();
35 router
.use(bodyParser
.json());
37 router
.use(bodyParser
.urlencoded({
41 router
.get('/app-config', cors(), function (req
, res
) {
42 getConfig(req
).then(function (response
) {
43 utils
.sendSuccessResponse(response
, res
);
45 utils
.sendErrorResponse(error
, res
);
49 var inactivityTimeout
= process
.env
.UI_TIMEOUT_SECS
|| 600000;
51 var versionPromise
= null;
53 var init = function () {
54 versionPromise
= new Promise(
55 function (resolve
, reject
) {
56 sessionAPI
.sessionPromise
.then(
59 url
: configuration
.getBackendURL() + '/api/operational/version',
61 headers
: _
.extend({}, constants
.HTTP_HEADERS
.accept
.data
, {
62 'Authorization': session
.authorization
64 forever
: constants
.FOREVER_ON
,
65 rejectUnauthorized
: false
67 function (error
, response
, body
) {
69 if (utils
.validateResponse('schema/version.get', error
, response
, body
, resolve
, reject
)) {
71 data
= JSON
.parse(response
.body
)['rw-base:version'];
72 resolve(data
.version
);
84 var getConfig = function (req
) {
85 var api_server
= req
.query
['api_server'];
87 var requests
= [versionPromise
];
89 return new Promise(function (resolve
, reject
) {
90 Promise
.all(requests
).then(
94 'api-server': configuration
.getBackendURL
,
95 'inactivity-timeout': process
.env
.UI_TIMEOUT_SECS
|| 600000
99 statusCode
: constants
.HTTP_RESPONSE_CODES
.SUCCESS
.OK
104 console
.log('Problem with config.get', error
);
105 response
.statusCode
= error
.statusCode
|| 500;
106 response
.errorMessage
= {
107 error
: 'Failed to get config' + error
115 getRouter: function () {