zcatalyst-cli 1.15.0-beta.5 → 1.15.0-beta.7
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/docs/serve/server/index.toml +5 -0
- package/docs/serve/server/lib/appsail/index.toml +4 -0
- package/lib/archiver.js +8 -3
- package/lib/client-utils.js +5 -1
- package/lib/commands/iac/pack.js +9 -8
- package/lib/deploy/features/appsail/index.js +15 -5
- package/lib/deploy/features/client.js +1 -1
- package/lib/deploy/features/functions/index.js +7 -4
- package/lib/endpoints/lib/applogic.js +14 -2
- package/lib/endpoints/lib/appsail.js +11 -2
- package/lib/endpoints/lib/client.js +11 -2
- package/lib/endpoints/lib/functions.js +14 -2
- package/lib/express_middlewares/logger.js +6 -2
- package/lib/fn-utils/lib/common.js +78 -48
- package/lib/fn-utils/lib/java.js +10 -10
- package/lib/fn-utils/lib/python.js +1 -1
- package/lib/init/features/appsail/index.js +2 -2
- package/lib/internal/api.js +33 -8
- package/lib/option-filter.js +4 -4
- package/lib/port-resolver.js +24 -11
- package/lib/progress.js +3 -2
- package/lib/prompt/types/file-path.js +3 -1
- package/lib/serve/features/appsail.js +14 -3
- package/lib/serve/features/index.js +1 -1
- package/lib/serve/index.js +7 -2
- package/lib/serve/server/index.js +317 -123
- package/lib/serve/server/lib/appsail/index.js +28 -10
- package/lib/serve/server/lib/appsail/start.js +4 -15
- package/lib/serve/server/lib/master.js +10 -10
- package/lib/serve/server/lib/web_client/index.js +5 -5
- package/lib/shell/dependencies/http-functions.js +11 -15
- package/lib/shell/prepare/languages/java.js +9 -4
- package/lib/util_modules/constants/lib/default.js +4 -1
- package/lib/util_modules/constants/lib/scopes.js +1 -0
- package/lib/util_modules/fs/lib/async.js +11 -17
- package/lib/util_modules/fs/lib/sync.js +5 -1
- package/package.json +1 -1
- package/templates/init/functions/java/integ/convokraft/FallbackHandler.java +1 -0
- package/templates/init/functions/node/integ/convokraft/fallback.js +1 -0
- package/templates/init/functions/python/integ/convokraft/fallback_handler.py +2 -1
- package/templates/init/functions/node/.DS_Store +0 -0
- package/templates/init/functions/node/integ/.DS_Store +0 -0
- package/templates/init/functions/node/integ/convokraft/.DS_Store +0 -0
|
@@ -92,6 +92,7 @@ const proxyResponseHandler = (systemRoutes) => (proxyRes, req, res) => {
|
|
|
92
92
|
}
|
|
93
93
|
};
|
|
94
94
|
function spinUpMaster(listenPort, otherServerDetails) {
|
|
95
|
+
var _a;
|
|
95
96
|
return __awaiter(this, void 0, void 0, function* () {
|
|
96
97
|
const projectDetails = {
|
|
97
98
|
id: (0, project_2.getProjectId)(),
|
|
@@ -104,7 +105,7 @@ function spinUpMaster(listenPort, otherServerDetails) {
|
|
|
104
105
|
const customProxyUrl = (0, option_1.getOptionValue)('proxy');
|
|
105
106
|
const app = (0, express_1.default)();
|
|
106
107
|
let systemRoutes;
|
|
107
|
-
app.use(logger_1.default);
|
|
108
|
+
app.use((0, logger_1.default)((_a = otherServerDetails.appSail) === null || _a === void 0 ? void 0 : _a.at(0)));
|
|
108
109
|
app.use(cookie_parser_1.default);
|
|
109
110
|
app.use((0, project_1.default)(projectDetails));
|
|
110
111
|
app.use(authenticator_1.default);
|
|
@@ -153,9 +154,10 @@ function spinUpMaster(listenPort, otherServerDetails) {
|
|
|
153
154
|
.on('close', () => (0, logger_2.debug)('proxy closed'));
|
|
154
155
|
const proxyDestroyer = new server_js_1.ConnectionDestroyer(proxy);
|
|
155
156
|
Object.keys(otherServerDetails).forEach((targ) => {
|
|
157
|
+
var _a, _b, _c, _d;
|
|
156
158
|
switch (targ) {
|
|
157
159
|
case 'client': {
|
|
158
|
-
otherServerDetails.client.forEach((clientDetails) => {
|
|
160
|
+
(_a = otherServerDetails.client) === null || _a === void 0 ? void 0 : _a.forEach((clientDetails) => {
|
|
159
161
|
const appTarget = `http://127.0.0.1:${clientDetails.httpPort}/app/`;
|
|
160
162
|
app.use('/app', (req, res) => {
|
|
161
163
|
const target = clientDetails.target;
|
|
@@ -193,7 +195,7 @@ function spinUpMaster(listenPort, otherServerDetails) {
|
|
|
193
195
|
break;
|
|
194
196
|
}
|
|
195
197
|
case 'server': {
|
|
196
|
-
otherServerDetails.server.forEach((serverDetail) => {
|
|
198
|
+
(_b = otherServerDetails.server) === null || _b === void 0 ? void 0 : _b.forEach((serverDetail) => {
|
|
197
199
|
var _a;
|
|
198
200
|
app.use('/server/' + ((_a = serverDetail.target) === null || _a === void 0 ? void 0 : _a.name), (req, res) => {
|
|
199
201
|
proxy.web(req, res, {
|
|
@@ -204,7 +206,7 @@ function spinUpMaster(listenPort, otherServerDetails) {
|
|
|
204
206
|
break;
|
|
205
207
|
}
|
|
206
208
|
case 'functions': {
|
|
207
|
-
otherServerDetails.functions.forEach((fnDetails) => {
|
|
209
|
+
(_c = otherServerDetails.functions) === null || _c === void 0 ? void 0 : _c.forEach((fnDetails) => {
|
|
208
210
|
const fnTarget = fnDetails.target;
|
|
209
211
|
app.use(`/server/${fnTarget.name}`, (req, res) => {
|
|
210
212
|
proxy.web(req, res, {
|
|
@@ -244,12 +246,11 @@ function spinUpMaster(listenPort, otherServerDetails) {
|
|
|
244
246
|
break;
|
|
245
247
|
}
|
|
246
248
|
case 'appSail': {
|
|
247
|
-
otherServerDetails.appSail.forEach((appSailDetails) => {
|
|
248
|
-
|
|
249
|
-
app.use('/appsail/' +
|
|
250
|
-
((_a = appSailDetails.target.appSail) === null || _a === void 0 ? void 0 : _a.name), (req, res) => {
|
|
249
|
+
(_d = otherServerDetails.appSail) === null || _d === void 0 ? void 0 : _d.forEach((appSailDetails) => {
|
|
250
|
+
app.use('/', (req, res) => {
|
|
251
251
|
proxy.web(req, res, {
|
|
252
|
-
target: `http://127.0.0.1:${appSailDetails.target.port
|
|
252
|
+
target: `http://127.0.0.1:${appSailDetails.target.port
|
|
253
|
+
.appsail}`,
|
|
253
254
|
ws: true
|
|
254
255
|
});
|
|
255
256
|
});
|
|
@@ -274,7 +275,6 @@ function spinUpMaster(listenPort, otherServerDetails) {
|
|
|
274
275
|
expressServer.maxConnections = 100;
|
|
275
276
|
process.on('SIGINT', () => expressDestroyer.destroy(false));
|
|
276
277
|
expressServer.on('close', () => __awaiter(this, void 0, void 0, function* () {
|
|
277
|
-
(0, logger_2.info)('Shutting down server');
|
|
278
278
|
yield proxyDestroyer.destroy().catch((err) => (0, logger_2.debug)(err));
|
|
279
279
|
}));
|
|
280
280
|
expressServer.on('upgrade', (...upgradeParam) => {
|
|
@@ -48,7 +48,9 @@ exports.default = (details, masterPort) => __awaiter(void 0, void 0, void 0, fun
|
|
|
48
48
|
];
|
|
49
49
|
throw err;
|
|
50
50
|
});
|
|
51
|
+
(0, logger_1.info)();
|
|
51
52
|
(0, logger_1.labeled)(`Client[${target.name}]`, `Plugin : "${runtime_store_1.default.get(`context.client.plugins.start${target.source ? '.' + target.source : ''}`)}" is used for ${details.type} serve`).MESSAGE();
|
|
53
|
+
(0, logger_1.info)();
|
|
52
54
|
return event;
|
|
53
55
|
}
|
|
54
56
|
const clientListener = yield (0, server_js_1.default)(details.httpPort, target.source, {
|
|
@@ -57,11 +59,9 @@ exports.default = (details, masterPort) => __awaiter(void 0, void 0, void 0, fun
|
|
|
57
59
|
notFoundPage: target.notFoundPage
|
|
58
60
|
});
|
|
59
61
|
clientListener.addListener('start', () => {
|
|
60
|
-
var _a
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
(0, logger_1.labeled)(label, `URL : ${appUrl}/app/`).MESSAGE();
|
|
64
|
-
((_b = details.target.opts) === null || _b === void 0 ? void 0 : _b.open) && (0, open_1.default)(appUrl).catch();
|
|
62
|
+
var _a;
|
|
63
|
+
return ((_a = details.target.opts) === null || _a === void 0 ? void 0 : _a.open) &&
|
|
64
|
+
(0, open_1.default)('http://localhost:' + masterPort).catch();
|
|
65
65
|
});
|
|
66
66
|
return clientListener;
|
|
67
67
|
});
|
|
@@ -32,6 +32,8 @@ const logger_2 = require("../../util_modules/logger");
|
|
|
32
32
|
const project_2 = require("../../util_modules/project");
|
|
33
33
|
const shell_1 = require("../../util_modules/shell");
|
|
34
34
|
const request_1 = __importDefault(require("request"));
|
|
35
|
+
const option_1 = require("../../util_modules/option");
|
|
36
|
+
const server_1 = require("../../util_modules/server");
|
|
35
37
|
const logUrl = (name, pthName, httpPort, masterPort) => {
|
|
36
38
|
(0, logger_2.labeled)(`functions(${name})`, 'URL => http://localhost:' + (masterPort === -1 ? httpPort : masterPort) + pthName).MESSAGE();
|
|
37
39
|
};
|
|
@@ -323,6 +325,9 @@ class HttpFunctions {
|
|
|
323
325
|
(_a = target.watcher) === null || _a === void 0 ? void 0 : _a.emit('next');
|
|
324
326
|
}, 1000);
|
|
325
327
|
});
|
|
328
|
+
if ((0, option_1.getCurrentCommand)() === 'functions:shell') {
|
|
329
|
+
logUrl(target.name, new url_1.URL(target.url).pathname, httpPort, masterPort);
|
|
330
|
+
}
|
|
326
331
|
});
|
|
327
332
|
if (this.repl !== undefined) {
|
|
328
333
|
this.repl.showPrompt();
|
|
@@ -335,10 +340,8 @@ class HttpFunctions {
|
|
|
335
340
|
start() {
|
|
336
341
|
return __awaiter(this, void 0, void 0, function* () {
|
|
337
342
|
const server = yield this._spinUpServer();
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
});
|
|
341
|
-
HttpFunctions.server = server;
|
|
343
|
+
const connDestroyer = new server_1.ConnectionDestroyer(server);
|
|
344
|
+
this.connDestroyer = connDestroyer;
|
|
342
345
|
return server;
|
|
343
346
|
});
|
|
344
347
|
}
|
|
@@ -349,20 +352,13 @@ class HttpFunctions {
|
|
|
349
352
|
slave.kill('SIGINT');
|
|
350
353
|
});
|
|
351
354
|
this.q.destroy(() => __awaiter(this, void 0, void 0, function* () {
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
res();
|
|
357
|
-
});
|
|
358
|
-
}
|
|
359
|
-
else {
|
|
360
|
-
res();
|
|
361
|
-
}
|
|
355
|
+
var _a;
|
|
356
|
+
yield Promise.all(this.targets.map((target) => __awaiter(this, void 0, void 0, function* () { var _b; return (_b = target.watcher) === null || _b === void 0 ? void 0 : _b.close(); })));
|
|
357
|
+
yield ((_a = this.connDestroyer) === null || _a === void 0 ? void 0 : _a.destroy());
|
|
358
|
+
res();
|
|
362
359
|
}));
|
|
363
360
|
});
|
|
364
361
|
});
|
|
365
362
|
}
|
|
366
363
|
}
|
|
367
|
-
HttpFunctions.server = null;
|
|
368
364
|
exports.default = HttpFunctions;
|
|
@@ -21,6 +21,7 @@ const constants_1 = require("../../../util_modules/constants");
|
|
|
21
21
|
const fs_1 = require("../../../util_modules/fs");
|
|
22
22
|
const fs_2 = require("fs");
|
|
23
23
|
const throbber_1 = __importDefault(require("../../../throbber"));
|
|
24
|
+
const error_1 = __importDefault(require("../../../error"));
|
|
24
25
|
exports.default = (targets) => __awaiter(void 0, void 0, void 0, function* () {
|
|
25
26
|
if (targets === undefined || targets.length === 0) {
|
|
26
27
|
return;
|
|
@@ -55,14 +56,18 @@ exports.default = (targets) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
55
56
|
const javaInvoker = (0, path_1.join)(__dirname, '../../../serve/server/lib/java/aio_server/JavaaioServer.java');
|
|
56
57
|
(0, java_1.ensureJavaInvoker)(javaServer, javaInvoker);
|
|
57
58
|
const serverFiles = yield fs_1.ASYNC.walk((0, path_1.dirname)(javaServer));
|
|
58
|
-
yield Promise.all(serverFiles.map((file) => {
|
|
59
|
-
|
|
59
|
+
yield Promise.all(serverFiles.map((file) => __awaiter(void 0, void 0, void 0, function* () {
|
|
60
|
+
try {
|
|
61
|
+
return fs_1.ASYNC.copyFile(file.path, (0, path_1.join)(targetBuildPath, (0, path_1.relative)((0, path_1.dirname)(javaServer), file.path.replace('lib' + path_1.sep, ''))), fs_2.constants.COPYFILE_EXCL);
|
|
62
|
+
}
|
|
63
|
+
catch (e) {
|
|
64
|
+
const err = error_1.default.getErrorInstance(e).original;
|
|
60
65
|
if (err.code !== 'EEXIST') {
|
|
61
66
|
throbber.remove('function_serve_' + target.name);
|
|
62
67
|
throw err;
|
|
63
68
|
}
|
|
64
|
-
}
|
|
65
|
-
}));
|
|
69
|
+
}
|
|
70
|
+
})));
|
|
66
71
|
}
|
|
67
72
|
yield (0, common_1.copyModDirPerm)((0, path_1.join)(target.source, constants_1.FOLDERNAME.output), targetBuildPath, '555', {
|
|
68
73
|
replace: false
|
|
@@ -12,10 +12,13 @@ exports.default = Object.freeze({
|
|
|
12
12
|
serve_port: {
|
|
13
13
|
http: {
|
|
14
14
|
master: 3000,
|
|
15
|
+
appsail: {
|
|
16
|
+
master: 3000,
|
|
17
|
+
service: 3060
|
|
18
|
+
},
|
|
15
19
|
advancedio: 3010,
|
|
16
20
|
basicio: 3040,
|
|
17
21
|
client: 3050,
|
|
18
|
-
appsail: 3060,
|
|
19
22
|
browser_logic: 3100
|
|
20
23
|
},
|
|
21
24
|
debug: {
|
|
@@ -47,6 +47,7 @@ exports.default = Object.freeze({
|
|
|
47
47
|
notification_web: 'ZohoCatalyst.notifications.web',
|
|
48
48
|
search_read: 'ZohoCatalyst.search.READ',
|
|
49
49
|
zia: 'ZohoCatalyst.mlkit.READ',
|
|
50
|
+
zia_hub: 'ZiaHub.deployment.READ',
|
|
50
51
|
circuits_execute: 'ZohoCatalyst.circuits.execute',
|
|
51
52
|
circuits_exe_read: 'ZohoCatalyst.circuits.execution.READ',
|
|
52
53
|
circuits_exe_delete: 'ZohoCatalyst.circuits.execution.DELETE',
|
|
@@ -12,7 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
12
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.chmod = exports.writeJSONFile = exports.readJSONFile = exports.emptyDir = exports.findAndReplace = exports.rename = exports.copyDir = exports.copyFiles = exports.copyFile = exports.deleteDir = exports.deleteFile = exports.ensureDir = exports.ensureFile = exports.walk = exports.dirList = exports.writeFile = exports.tempFile = exports.readFile = exports.
|
|
15
|
+
exports.chmod = exports.writeJSONFile = exports.readJSONFile = exports.emptyDir = exports.findAndReplace = exports.rename = exports.copyDir = exports.copyFiles = exports.copyFile = exports.deleteDir = exports.deleteFile = exports.ensureDir = exports.ensureFile = exports.walk = exports.dirList = exports.writeFile = exports.tempFile = exports.readFile = exports.fileExists = exports.dirExists = exports.isPathExists = void 0;
|
|
16
16
|
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
17
17
|
const minimatch_1 = __importDefault(require("minimatch"));
|
|
18
18
|
const os_1 = __importDefault(require("os"));
|
|
@@ -39,13 +39,6 @@ function fileExists(pth) {
|
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
41
|
exports.fileExists = fileExists;
|
|
42
|
-
function isFile(pth) {
|
|
43
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
44
|
-
const stats = yield fs_extra_1.default.stat((0, utils_js_1.untildify)(pth)).catch(() => false);
|
|
45
|
-
return stats && stats.isFile();
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
exports.isFile = isFile;
|
|
49
42
|
function readFile(pth, type) {
|
|
50
43
|
return __awaiter(this, void 0, void 0, function* () {
|
|
51
44
|
if (!(yield fileExists(pth))) {
|
|
@@ -94,15 +87,16 @@ function walk(dir, { filter = {
|
|
|
94
87
|
excludeDir: true
|
|
95
88
|
}, depth = -1, includeDirPaths = false } = {}) {
|
|
96
89
|
return __awaiter(this, void 0, void 0, function* () {
|
|
90
|
+
const stats = yield fs_extra_1.default.lstat(dir);
|
|
97
91
|
if (depth === 0) {
|
|
98
|
-
return includeDirPaths ? [dir] : [];
|
|
92
|
+
return includeDirPaths ? [{ path: dir, stats }] : [];
|
|
99
93
|
}
|
|
100
|
-
const isDir =
|
|
94
|
+
const isDir = stats.isDirectory() && !stats.isSymbolicLink();
|
|
101
95
|
const files = isDir ? yield fs_extra_1.default.readdir(dir) : [path_1.default.basename(dir)];
|
|
102
96
|
const folderContentPromise = files.map((entry) => __awaiter(this, void 0, void 0, function* () {
|
|
103
97
|
const entryPath = isDir ? path_1.default.join(dir, entry) : dir;
|
|
104
|
-
const
|
|
105
|
-
const isEntryPthDir =
|
|
98
|
+
const entryPathStats = yield fs_extra_1.default.lstat(entryPath);
|
|
99
|
+
const isEntryPthDir = entryPathStats.isDirectory() && !entryPathStats.isSymbolicLink();
|
|
106
100
|
let excludeMatch = false;
|
|
107
101
|
if (!(isEntryPthDir && !filter.excludeDir)) {
|
|
108
102
|
for (const glob of filter.exclude || []) {
|
|
@@ -114,10 +108,10 @@ function walk(dir, { filter = {
|
|
|
114
108
|
}
|
|
115
109
|
return isEntryPthDir && depth !== 0
|
|
116
110
|
? walk(entryPath, { filter, depth: depth - 1, includeDirPaths })
|
|
117
|
-
: [entryPath];
|
|
111
|
+
: [{ path: entryPath, stats: entryPathStats }];
|
|
118
112
|
}));
|
|
119
113
|
const folderContents = yield Promise.all(folderContentPromise);
|
|
120
|
-
return folderContents.reduce((all, folderContent) => all.concat(folderContent), includeDirPaths ? [dir] : []);
|
|
114
|
+
return folderContents.reduce((all, folderContent) => all.concat(folderContent), includeDirPaths ? [{ path: dir, stats }] : []);
|
|
121
115
|
});
|
|
122
116
|
}
|
|
123
117
|
exports.walk = walk;
|
|
@@ -193,7 +187,7 @@ const findAndReplace = (pth) => (templates, finalWords) => __awaiter(void 0, voi
|
|
|
193
187
|
}
|
|
194
188
|
const files = yield walk(pth);
|
|
195
189
|
yield Promise.all(files.map((file) => __awaiter(void 0, void 0, void 0, function* () {
|
|
196
|
-
let content = yield readFile(file);
|
|
190
|
+
let content = yield readFile(file.path);
|
|
197
191
|
if (content === undefined) {
|
|
198
192
|
return Promise.resolve();
|
|
199
193
|
}
|
|
@@ -205,7 +199,7 @@ const findAndReplace = (pth) => (templates, finalWords) => __awaiter(void 0, voi
|
|
|
205
199
|
else {
|
|
206
200
|
content = content.replace(new RegExp(templates, 'g'), finalWords);
|
|
207
201
|
}
|
|
208
|
-
return writeFile(file, content);
|
|
202
|
+
return writeFile(file.path, content);
|
|
209
203
|
})));
|
|
210
204
|
});
|
|
211
205
|
exports.findAndReplace = findAndReplace;
|
|
@@ -239,7 +233,7 @@ function chmod(path, mode, { checkPath = true, recursive = false } = {}) {
|
|
|
239
233
|
if (recursive && (yield dirExists(path))) {
|
|
240
234
|
const paths = yield walk(path, { includeDirPaths: true, depth: 1 });
|
|
241
235
|
paths.shift();
|
|
242
|
-
yield Promise.all(paths.map((_path) => chmod(_path, mode, { recursive, checkPath })));
|
|
236
|
+
yield Promise.all(paths.map((_path) => chmod(_path.path, mode, { recursive, checkPath })));
|
|
243
237
|
}
|
|
244
238
|
return fs_extra_1.default.chmod(path, mode);
|
|
245
239
|
});
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.writeJSONFile = exports.readJSONFile = exports.emptyDir = exports.copyDir = exports.copyFiles = exports.copyFile = exports.deleteTempDir = exports.tempFile = exports.deleteDir = exports.isPathInside = exports.isPathOutside = exports.renameFile = exports.modifyFileName = exports.appendFile = exports.writeFile = exports.ensureFile = exports.ensureDir = exports.readFile = exports.deleteFile = exports.getAllFiles = exports.getAllDirs = exports.dirExists = exports.fileExists = exports.getReadStream = exports.getWriteStream = void 0;
|
|
6
|
+
exports.writeJSONFile = exports.readJSONFile = exports.emptyDir = exports.copyDir = exports.copyFiles = exports.copyFile = exports.deleteTempDir = exports.tempFile = exports.deleteDir = exports.isPathInside = exports.isPathOutside = exports.renameFile = exports.modifyFileName = exports.appendFile = exports.writeFile = exports.ensureFile = exports.ensureDir = exports.readFile = exports.deleteFile = exports.getAllFiles = exports.getAllDirs = exports.dirExists = exports.fileExists = exports.readSymLink = exports.getReadStream = exports.getWriteStream = void 0;
|
|
7
7
|
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
8
8
|
const os_1 = __importDefault(require("os"));
|
|
9
9
|
const path_1 = __importDefault(require("path"));
|
|
@@ -15,6 +15,10 @@ function getReadStream(pth) {
|
|
|
15
15
|
return fs_extra_1.default.createReadStream(pth);
|
|
16
16
|
}
|
|
17
17
|
exports.getReadStream = getReadStream;
|
|
18
|
+
function readSymLink(pth) {
|
|
19
|
+
return fs_extra_1.default.readlinkSync(pth);
|
|
20
|
+
}
|
|
21
|
+
exports.readSymLink = readSymLink;
|
|
18
22
|
function fileExists(pth) {
|
|
19
23
|
try {
|
|
20
24
|
const stats = fs_extra_1.default.statSync(pth);
|
package/package.json
CHANGED
|
@@ -7,6 +7,7 @@ public class FallbackHandler {
|
|
|
7
7
|
JSONObject jsonResponse = new JSONObject();
|
|
8
8
|
LOGGER.info("Fallback Handler : : TODO : "+ reqBody.get("todo"));
|
|
9
9
|
jsonResponse.put("message", "Fallback Response: Please define this question and try again");
|
|
10
|
+
jsonResponse.put("status", "handled");
|
|
10
11
|
return jsonResponse;
|
|
11
12
|
}
|
|
12
13
|
}
|
|
@@ -11,5 +11,6 @@ def handle_fallback_request(req_body):
|
|
|
11
11
|
logging.info('Handling fallback request')
|
|
12
12
|
|
|
13
13
|
return {
|
|
14
|
-
'message': 'Fallback Response: Please define this question and try again'
|
|
14
|
+
'message': 'Fallback Response: Please define this question and try again',
|
|
15
|
+
'status':'handled'
|
|
15
16
|
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|