@sassoftware/viya-serverjs 0.6.1-5 → 0.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env +5 -4
- package/lib/iService.js +8 -6
- package/lib/index.js +1 -1
- package/lib/plugins/setContext.js +2 -2
- package/lib/plugins/setDefaultRoutes.js +1 -1
- package/package.json +3 -2
- package/src/iService.js +8 -5
- package/src/index.js +1 -1
- package/src/plugins/setContext.js +1 -1
- package/src/plugins/setDefaultRoutes.js +1 -1
package/.env
CHANGED
|
@@ -3,15 +3,16 @@ APPENTRY=index.html
|
|
|
3
3
|
APPLOC=./public
|
|
4
4
|
|
|
5
5
|
APPENV_USEPROXY=YES
|
|
6
|
-
|
|
6
|
+
PORT=8080
|
|
7
7
|
APPNAME=viyaapp
|
|
8
8
|
AUTHFLOW=server
|
|
9
9
|
CLIENTID=viyaapp
|
|
10
10
|
CLIENTSECRET=jellico
|
|
11
11
|
REDIRECT=
|
|
12
|
-
USELOGON=FALSE
|
|
13
|
-
USETOKEN=FALSE
|
|
12
|
+
# USELOGON=FALSE
|
|
13
|
+
# USETOKEN=FALSE
|
|
14
|
+
HTTPS=true
|
|
14
15
|
|
|
15
|
-
VIYACERT=c:\Users\kumar\viyaCert
|
|
16
|
+
VIYACERT=c:\Users\kumar\viyaCert\xf1
|
|
16
17
|
NODE_TLS_REJECT_UNAUTHORIZED=0
|
|
17
18
|
|
package/lib/iService.js
CHANGED
|
@@ -51,7 +51,7 @@ function iService(userRouteTable, useDefault, asset, allAppEnv, serverMode, user
|
|
|
51
51
|
// process.env.APPHOST_ADDR = process.env.APPHOST;
|
|
52
52
|
var init = /*#__PURE__*/function () {
|
|
53
53
|
var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
54
|
-
var defaultMaxBytes, maxBytes, isSameSite, isSecure, _process$env$SAMESITE, _process$env$SAMESITE2, s1, s2, sConfig, hapiServer, nodeCacheOptions, storeCache, visionOptions, options, allRoutes, hh, msg;
|
|
54
|
+
var defaultMaxBytes, maxBytes, isSameSite, isSecure, https, _process$env$SAMESITE, _process$env$SAMESITE2, s1, s2, sConfig, hapiServer, nodeCacheOptions, storeCache, visionOptions, options, allRoutes, hh, msg;
|
|
55
55
|
return _regenerator().w(function (_context) {
|
|
56
56
|
while (1) switch (_context.n) {
|
|
57
57
|
case 0:
|
|
@@ -64,13 +64,15 @@ function iService(userRouteTable, useDefault, asset, allAppEnv, serverMode, user
|
|
|
64
64
|
} else {
|
|
65
65
|
maxBytes = Number(process.env.PAYLOADMAXBYTES);
|
|
66
66
|
}
|
|
67
|
-
isSameSite = '
|
|
67
|
+
isSameSite = 'Lax';
|
|
68
68
|
isSecure = false;
|
|
69
|
+
https = process.env.HTTPS || 'TRUE';
|
|
70
|
+
https = https.toUpperCase();
|
|
69
71
|
if (process.env.SAMESITE != null) {
|
|
70
72
|
_process$env$SAMESITE = process.env.SAMESITE.split(','), _process$env$SAMESITE2 = _slicedToArray(_process$env$SAMESITE, 2), s1 = _process$env$SAMESITE2[0], s2 = _process$env$SAMESITE2[1];
|
|
71
73
|
isSameSite = s1;
|
|
72
74
|
isSecure = s2 === 'secure' ? true : false;
|
|
73
|
-
if (
|
|
75
|
+
if (https !== 'TRUE') {
|
|
74
76
|
isSecure = false;
|
|
75
77
|
}
|
|
76
78
|
}
|
|
@@ -103,7 +105,7 @@ function iService(userRouteTable, useDefault, asset, allAppEnv, serverMode, user
|
|
|
103
105
|
};
|
|
104
106
|
}
|
|
105
107
|
debug(JSON.stringify(sConfig, null, 4));
|
|
106
|
-
if (
|
|
108
|
+
if (https === 'TRUE') {
|
|
107
109
|
sConfig.tls = getCertificates();
|
|
108
110
|
debug('Setup of SSL certificates completed');
|
|
109
111
|
} else {
|
|
@@ -145,7 +147,7 @@ function iService(userRouteTable, useDefault, asset, allAppEnv, serverMode, user
|
|
|
145
147
|
_context.n = 2;
|
|
146
148
|
return hapiServer.register(inert);
|
|
147
149
|
case 2:
|
|
148
|
-
if (!(
|
|
150
|
+
if (!(https === 'TRUE')) {
|
|
149
151
|
_context.n = 3;
|
|
150
152
|
break;
|
|
151
153
|
}
|
|
@@ -180,7 +182,7 @@ function iService(userRouteTable, useDefault, asset, allAppEnv, serverMode, user
|
|
|
180
182
|
useDefault: useDefault,
|
|
181
183
|
/* not used - left here for potential reuse */
|
|
182
184
|
userCache: userCache || {},
|
|
183
|
-
https:
|
|
185
|
+
https: https,
|
|
184
186
|
authDefault: false,
|
|
185
187
|
/* set later in setDefaultRoutes */
|
|
186
188
|
authLogon: false /* set later in setDefaultRoutes */
|
package/lib/index.js
CHANGED
|
@@ -149,7 +149,7 @@ function getAllEnv(userInfo) {
|
|
|
149
149
|
l.redirect = redirect;
|
|
150
150
|
}
|
|
151
151
|
if (authflow === "server" && keepAlive === "YES") {
|
|
152
|
-
var protocol = process.env.HTTPS === "
|
|
152
|
+
var protocol = process.env.HTTPS.toUpperCase() === "TRUE" ? "https://" : "http://";
|
|
153
153
|
l.keepAlive = "".concat(protocol).concat(process.env.APPHOST, ":").concat(process.env.APPPORT, "/").concat(appName, "/keepAlive");
|
|
154
154
|
l.keepAlive = l.keepAlive.replace(/0.0.0.0/, "localhost");
|
|
155
155
|
}
|
|
@@ -65,9 +65,9 @@ function _setContext() {
|
|
|
65
65
|
query: req.query,
|
|
66
66
|
payload: req.payload,
|
|
67
67
|
queryOrig: fcredentials != null ? fcredentials.query : {},
|
|
68
|
-
credentials: _objectSpread(_objectSpread({}, fcredentials), {}, {
|
|
68
|
+
credentials: fcredentials != null ? _objectSpread(_objectSpread({}, fcredentials), {}, {
|
|
69
69
|
host: process.env.VIYA_SERVER
|
|
70
|
-
}),
|
|
70
|
+
}) : null,
|
|
71
71
|
credType: credentials != null ? 'auth' : 'cached',
|
|
72
72
|
host: process.env.VIYA_SERVER
|
|
73
73
|
};
|
|
@@ -189,7 +189,7 @@ module.exports = function setDefaultRoutes(server, options) {
|
|
|
189
189
|
}
|
|
190
190
|
}
|
|
191
191
|
}];
|
|
192
|
-
var uTable = options.userRouteTable();
|
|
192
|
+
var uTable = options.userRouteTable == null ? [] : options.userRouteTable();
|
|
193
193
|
var routeTables0 = options.userRouteTable !== null ? defaultTable.concat(uTable) : defaultTable;
|
|
194
194
|
var routeTables = (0, _handlers.setupUserRoutes)(routeTables0, options);
|
|
195
195
|
server.route(routeTables);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sassoftware/viya-serverjs",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.2",
|
|
4
4
|
"description": "Easy to use app server for SAS Viya applications",
|
|
5
5
|
"author": "Deva Kumaraswamy <deva.kumar@sas.com>",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"unpkg": "./lib/index.js",
|
|
30
30
|
"scripts": {
|
|
31
31
|
"build": "rimraf lib && babel src --out-dir lib",
|
|
32
|
-
"test": "
|
|
32
|
+
"test": "node cli --env=./.env --docker=./Dockerfile",
|
|
33
33
|
"server": "cross-env NODE_TLS_REJECT_UNAUTHORIZED=0 node server.js --env=./.env --docker=./Dockerfile",
|
|
34
34
|
"proxy": "cross-env NODE_TLS_REJECT_UNAUTHORIZED=0 node cli --env=./.env.proxy --docker=./Dockerfile",
|
|
35
35
|
"pub": "npm publish --tag dev --access public",
|
|
@@ -56,6 +56,7 @@
|
|
|
56
56
|
"jwt-decode": "^4.0.0",
|
|
57
57
|
"node-cache-promise": "^1.0.2",
|
|
58
58
|
"only": "0.0.2",
|
|
59
|
+
"open": "^11.0.0",
|
|
59
60
|
"qs": "^6.14.1",
|
|
60
61
|
"regenerator-runtime": "^0.14.1",
|
|
61
62
|
"request-debug": "^0.2.0",
|
package/src/iService.js
CHANGED
|
@@ -46,14 +46,16 @@ function iService (userRouteTable, useDefault, asset, allAppEnv, serverMode, use
|
|
|
46
46
|
} else {
|
|
47
47
|
maxBytes = Number(process.env.PAYLOADMAXBYTES);
|
|
48
48
|
}
|
|
49
|
-
let isSameSite = '
|
|
49
|
+
let isSameSite = 'Lax';
|
|
50
50
|
let isSecure = false;
|
|
51
|
+
let https = process.env.HTTPS || 'TRUE';
|
|
52
|
+
https = https.toUpperCase();
|
|
51
53
|
|
|
52
54
|
if (process.env.SAMESITE != null) {
|
|
53
55
|
let [s1, s2] = process.env.SAMESITE.split(',');
|
|
54
56
|
isSameSite = s1;
|
|
55
57
|
isSecure = s2 === 'secure' ? true : false;
|
|
56
|
-
if (
|
|
58
|
+
if (https !== 'TRUE') {
|
|
57
59
|
isSecure = false;
|
|
58
60
|
}
|
|
59
61
|
}
|
|
@@ -92,7 +94,7 @@ function iService (userRouteTable, useDefault, asset, allAppEnv, serverMode, use
|
|
|
92
94
|
sConfig.debug = { request: '*' };
|
|
93
95
|
}
|
|
94
96
|
debug(JSON.stringify(sConfig, null,4));
|
|
95
|
-
if (
|
|
97
|
+
if (https === 'TRUE') {
|
|
96
98
|
sConfig.tls = getCertificates();
|
|
97
99
|
debug('Setup of SSL certificates completed');
|
|
98
100
|
} else {
|
|
@@ -136,7 +138,7 @@ function iService (userRouteTable, useDefault, asset, allAppEnv, serverMode, use
|
|
|
136
138
|
await hapiServer.register(Vision);
|
|
137
139
|
hapiServer.views(visionOptions);
|
|
138
140
|
await hapiServer.register(inert);
|
|
139
|
-
if (
|
|
141
|
+
if (https === 'TRUE') {
|
|
140
142
|
await hapiServer.register({ plugin: require('hapi-require-https'), options: {} });
|
|
141
143
|
}
|
|
142
144
|
// register H202 for proxy handling
|
|
@@ -165,7 +167,7 @@ function iService (userRouteTable, useDefault, asset, allAppEnv, serverMode, use
|
|
|
165
167
|
userRouteTable: userRouteTable,
|
|
166
168
|
useDefault : useDefault, /* not used - left here for potential reuse */
|
|
167
169
|
userCache : userCache ||{},
|
|
168
|
-
https :
|
|
170
|
+
https : https,
|
|
169
171
|
authDefault : false, /* set later in setDefaultRoutes */
|
|
170
172
|
authLogon : false /* set later in setDefaultRoutes */
|
|
171
173
|
|
|
@@ -209,6 +211,7 @@ function iService (userRouteTable, useDefault, asset, allAppEnv, serverMode, use
|
|
|
209
211
|
process.env.APPSERVER = `${hh}/${process.env.APPNAME}`;
|
|
210
212
|
process.env.HEALTH = 'true';
|
|
211
213
|
console.log('====================================================================================');
|
|
214
|
+
|
|
212
215
|
};
|
|
213
216
|
|
|
214
217
|
process.on('unhandledRejection', (err) => {
|
package/src/index.js
CHANGED
|
@@ -190,7 +190,7 @@ function getAllEnv(userInfo) {
|
|
|
190
190
|
}
|
|
191
191
|
|
|
192
192
|
if (authflow === "server" && keepAlive === "YES") {
|
|
193
|
-
let protocol = process.env.HTTPS === "
|
|
193
|
+
let protocol = process.env.HTTPS.toUpperCase() === "TRUE" ? "https://" : "http://";
|
|
194
194
|
l.keepAlive = `${protocol}${process.env.APPHOST}:${process.env.APPPORT}/${appName}/keepAlive`;
|
|
195
195
|
l.keepAlive = l.keepAlive.replace(/0.0.0.0/, "localhost");
|
|
196
196
|
}
|
|
@@ -37,7 +37,7 @@ async function setContext(req, h) {
|
|
|
37
37
|
query: req.query,
|
|
38
38
|
payload: req.payload,
|
|
39
39
|
queryOrig: (fcredentials != null) ? fcredentials.query : {},
|
|
40
|
-
credentials: {...fcredentials, host: process.env.VIYA_SERVER},
|
|
40
|
+
credentials: (fcredentials != null) ? {...fcredentials, host: process.env.VIYA_SERVER} : null,
|
|
41
41
|
credType: (credentials != null) ? 'auth' : 'cached',
|
|
42
42
|
host: process.env.VIYA_SERVER
|
|
43
43
|
};
|
|
@@ -185,7 +185,7 @@ module.exports = function setDefaultRoutes(server, options) {
|
|
|
185
185
|
}
|
|
186
186
|
];
|
|
187
187
|
|
|
188
|
-
let uTable = options.userRouteTable();
|
|
188
|
+
let uTable = (options.userRouteTable == null) ? [] : options.userRouteTable();
|
|
189
189
|
let routeTables0 = options.userRouteTable !== null ? defaultTable.concat(uTable) : defaultTable;
|
|
190
190
|
let routeTables = setupUserRoutes(routeTables0, options);
|
|
191
191
|
|