@webos-tools/cli 3.2.0 → 3.2.1
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/.eslintignore +1 -1
- package/.eslintrc.js +52 -52
- package/.vscode/c_cpp_properties.json +21 -0
- package/.vscode/launch.json +97 -0
- package/.vscode/settings.json +13 -0
- package/.vscode/tasks.json +32 -0
- package/APIs.js +79 -79
- package/CHANGELOG.md +11 -5
- package/LICENSE +201 -201
- package/bin/ares-config.js +1 -1
- package/bin/ares-device-info.js +30 -30
- package/bin/ares-generate.js +274 -274
- package/bin/ares-inspect.js +179 -179
- package/bin/ares-install.js +223 -223
- package/bin/ares-log.js +259 -259
- package/bin/ares-pull.js +156 -156
- package/bin/ares-push.js +155 -155
- package/bin/ares-server.js +174 -174
- package/bin/ares-setup-device.js +6 -10
- package/bin/ares-shell.js +132 -132
- package/bin/ares.js +166 -166
- package/files/conf/ares.json +1 -2
- package/files/conf/ipk.json +30 -30
- package/files/conf/novacom-devices.json +2 -2
- package/files/conf/query/query-app.json +14 -14
- package/files/conf/query/query-hosted.json +18 -18
- package/files/conf/query/query-package.json +10 -10
- package/files/conf/query/query-service.json +6 -6
- package/files/conf/webos_emul +27 -27
- package/files/conf-base/env/sdk-apollo.json +8 -8
- package/files/conf-base/env/sdk-ose.json +8 -8
- package/files/conf-base/env/sdk-tv.json +8 -8
- package/files/conf-base/profile/config-apollo.json +29 -29
- package/files/conf-base/profile/config-ose.json +29 -29
- package/files/conf-base/profile/config-tv.json +31 -31
- package/files/conf-base/query/query-app.json +14 -14
- package/files/conf-base/query/query-hosted.json +18 -18
- package/files/conf-base/query/query-package.json +10 -10
- package/files/conf-base/query/query-service.json +6 -6
- package/files/conf-base/query/signage/query-app.json +1 -1
- package/files/conf-base/query/signage/query-service.json +1 -1
- package/files/conf-base/template-conf/ose-templates.json +67 -67
- package/files/conf-base/template-conf/tv-sdk-templates.json +57 -57
- package/files/help/ares-device.help +109 -109
- package/files/help/ares-install.help +95 -95
- package/files/help/ares-launch.help +1 -1
- package/files/help/ares-log-pmlogd.help +84 -84
- package/files/help/ares-log.help +101 -101
- package/files/help/ares-novacom.help +68 -68
- package/files/help/ares-pull.help +38 -38
- package/files/help/ares-push.help +38 -38
- package/files/help/ares-server.help +44 -44
- package/files/help/ares-shell.help +42 -42
- package/files/help/ares.help +52 -52
- package/files/help/readme.help +23 -23
- package/files/schema/ApplicationDescription.schema +319 -319
- package/files/templates/apollo-sdk-templates/appinfo/appinfo.json +10 -10
- package/files/templates/apollo-sdk-templates/bootplate-web/index.html +88 -88
- package/files/templates/apollo-sdk-templates/hosted-webapp/index.html +13 -13
- package/files/templates/apollo-sdk-templates/js-service/helloclient.js +31 -31
- package/files/templates/apollo-sdk-templates/js-service/helloworld_webos_service.js +188 -188
- package/files/templates/apollo-sdk-templates/serviceinfo/package.json +11 -11
- package/files/templates/apollo-sdk-templates/serviceinfo/services.json +8 -8
- package/files/templates/ose-sdk-templates/appinfo/appinfo.json +10 -10
- package/files/templates/ose-sdk-templates/bootplate-web/index.html +88 -88
- package/files/templates/ose-sdk-templates/hosted-webapp/index.html +13 -13
- package/files/templates/ose-sdk-templates/js-service/helloclient.js +31 -31
- package/files/templates/ose-sdk-templates/js-service/helloworld_webos_service.js +188 -188
- package/files/templates/ose-sdk-templates/qml-app/main.qml +68 -68
- package/files/templates/ose-sdk-templates/qmlappinfo/appinfo.json +10 -10
- package/files/templates/ose-sdk-templates/serviceinfo/package.json +11 -11
- package/files/templates/ose-sdk-templates/serviceinfo/services.json +8 -8
- package/files/templates/signage-sdk-templates/Backlight_Scheduling/index.html +1 -1
- package/files/templates/signage-sdk-templates/Backlight_Scheduling/scheduler.js +2 -3
- package/files/templates/signage-sdk-templates/File_Explorer/index.html +1 -33
- package/files/templates/signage-sdk-templates/File_Explorer/js/Root.js +0 -9
- package/files/templates/tv-sdk-templates/appinfo/appinfo.json +10 -10
- package/files/templates/tv-sdk-templates/bootplate-web/index.html +58 -58
- package/files/templates/tv-sdk-templates/bootplate-web/webOSTVjs-1.2.10/LICENSE-2.0.txt +202 -202
- package/files/templates/tv-sdk-templates/hosted-webapp/index.html +14 -14
- package/files/templates/tv-sdk-templates/js-service/helloworld_service.js +39 -39
- package/files/templates/tv-sdk-templates/packageinfo/packageinfo.json +3 -3
- package/files/templates/tv-sdk-templates/serviceinfo/package.json +11 -11
- package/files/templates/tv-sdk-templates/serviceinfo/services.json +8 -8
- package/lib/base/ares.html +40 -40
- package/lib/base/cli-appdata.js +290 -289
- package/lib/base/cli-control.js +44 -44
- package/lib/base/common-tools.js +29 -29
- package/lib/base/error-handler.js +265 -265
- package/lib/base/file-watcher.js +155 -155
- package/lib/base/help-format.js +147 -147
- package/lib/base/luna.js +178 -178
- package/lib/base/novacom.js +4 -4
- package/lib/base/sdkenv.js +59 -59
- package/lib/base/server.js +137 -137
- package/lib/base/setup-device.js +2 -2
- package/lib/base/version-tools.js +79 -79
- package/lib/device.js +1419 -1419
- package/lib/generator.js +1 -1
- package/lib/inspect.js +493 -493
- package/lib/log.js +584 -584
- package/lib/package.js +61 -7
- package/lib/pull.js +231 -231
- package/lib/pusher.js +210 -210
- package/lib/session.js +74 -74
- package/lib/shell.js +193 -193
- package/lib/tar-filter-pack.js +62 -62
- package/lib/util/copy.js +31 -31
- package/lib/util/createFileName.js +40 -40
- package/lib/util/eof.js +30 -30
- package/lib/util/json.js +63 -63
- package/lib/util/merge.js +14 -14
- package/lib/util/objclone.js +40 -40
- package/lib/util/spinner.js +37 -37
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
- package/scripts/postinstall.js +24 -24
- package/spec/helpers/reporter.js +65 -65
- package/spec/jsSpecs/apiTest/generator.spec.js +372 -372
- package/spec/jsSpecs/apiTest/inspector.spec.js +89 -89
- package/spec/jsSpecs/apiTest/installer.spec.js +67 -67
- package/spec/jsSpecs/apiTest/launcher.spec.js +150 -150
- package/spec/jsSpecs/apiTest/packager.spec.js +194 -194
- package/spec/jsSpecs/apiTest/puller.spec.js +101 -101
- package/spec/jsSpecs/apiTest/pusher.spec.js +103 -103
- package/spec/jsSpecs/apiTest/server.spec.js +115 -115
- package/spec/jsSpecs/apiTest/setupDevice.spec.js +93 -93
- package/spec/jsSpecs/apiTest/shell.spec.js +49 -49
- package/spec/jsSpecs/ares-config.spec.js +88 -88
- package/spec/jsSpecs/ares-device.spec.js +443 -443
- package/spec/jsSpecs/ares-generate.spec.js +397 -401
- package/spec/jsSpecs/ares-inspect.spec.js +252 -252
- package/spec/jsSpecs/ares-install.spec.js +150 -150
- package/spec/jsSpecs/ares-log.spec.js +824 -824
- package/spec/jsSpecs/ares-novacom.spec.js +149 -149
- package/spec/jsSpecs/ares-pull.spec.js +157 -157
- package/spec/jsSpecs/ares-push.spec.js +146 -146
- package/spec/jsSpecs/ares-setup-device.spec.js +1 -0
- package/spec/jsSpecs/ares-shell.spec.js +220 -220
- package/spec/jsSpecs/ares.spec.js +83 -83
- package/spec/support/jasmine.json +22 -22
- package/spec/tempFiles/nativeApp/auto/pkg_arm64/appinfo.json +9 -9
- package/spec/tempFiles/nativeApp/ose/pkg_arm/appinfo.json +8 -8
- package/spec/tempFiles/nativeApp/ose/pkg_arm/package.properties +2 -2
- package/spec/tempFiles/nativeApp/oseEmul/pkg_x86/appinfo.json +9 -9
- package/spec/tempFiles/nativeApp/rsi/pkg_x86/appinfo.json +9 -9
- package/spec/tempFiles/sign/sign.crt +32 -32
- package/spec/tempFiles/sign/signPriv.key +52 -52
- package/spec/test_data/ares-generate.json +58 -91
- package/spec/test_data/ares.json +50 -50
- package/webos-tools-cli-3.2.1.tgz +0 -0
- package/webos-tools-cli-3.2.0.tgz +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "com.domain.app",
|
|
3
|
-
"version": "1.0.0",
|
|
4
|
-
"vendor": "My Company",
|
|
5
|
-
"type": "web",
|
|
6
|
-
"main": "index.html",
|
|
7
|
-
"title": "new app",
|
|
8
|
-
"icon": "icon.png",
|
|
9
|
-
"requiredPermissions": ["time.query", "activity.operation"]
|
|
10
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"id": "com.domain.app",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"vendor": "My Company",
|
|
5
|
+
"type": "web",
|
|
6
|
+
"main": "index.html",
|
|
7
|
+
"title": "new app",
|
|
8
|
+
"icon": "icon.png",
|
|
9
|
+
"requiredPermissions": ["time.query", "activity.operation"]
|
|
10
|
+
}
|
|
@@ -1,88 +1,88 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
Copyright (c) 2020-2024 LG Electronics Inc.
|
|
3
|
-
|
|
4
|
-
SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
-->
|
|
6
|
-
|
|
7
|
-
<!DOCTYPE html>
|
|
8
|
-
<html>
|
|
9
|
-
<head>
|
|
10
|
-
<title>Example Web App</title>
|
|
11
|
-
<style type="text/css">
|
|
12
|
-
body {
|
|
13
|
-
width: 100%;
|
|
14
|
-
height: 100%;
|
|
15
|
-
background-color:#202020;
|
|
16
|
-
}
|
|
17
|
-
div {
|
|
18
|
-
position:absolute;
|
|
19
|
-
height:100%;
|
|
20
|
-
width:100%;
|
|
21
|
-
display: table;
|
|
22
|
-
}
|
|
23
|
-
h1 {
|
|
24
|
-
display: table-cell;
|
|
25
|
-
vertical-align: middle;
|
|
26
|
-
text-align:center;
|
|
27
|
-
color:#FFFFFF;
|
|
28
|
-
}
|
|
29
|
-
</style>
|
|
30
|
-
<script type="text/javascript">
|
|
31
|
-
window.onload = function() {
|
|
32
|
-
var bridge = new WebOSServiceBridge();
|
|
33
|
-
/*
|
|
34
|
-
* getTimeApi calls gettime of systemservice, a module in the platform.
|
|
35
|
-
*/
|
|
36
|
-
var getTimeApi = 'luna://com.webos.service.systemservice/clock/getTime';
|
|
37
|
-
var getTimeParams = '{}';
|
|
38
|
-
|
|
39
|
-
/*
|
|
40
|
-
* helloApi calls the hello method of js_service template provided by CLI.
|
|
41
|
-
* In this case, the service name is used as default name "com.domain.app.service" is.
|
|
42
|
-
* If you change this service name, you need to change the service name of the following API.
|
|
43
|
-
*
|
|
44
|
-
* If you change the name to helloParmas as you want, the contents will be reflected on the screen.
|
|
45
|
-
*/
|
|
46
|
-
var helloApi = 'luna://com.domain.app.service/hello';
|
|
47
|
-
var helloParams = '{"name":"webOS"}';
|
|
48
|
-
|
|
49
|
-
function getTime_callback(msg){
|
|
50
|
-
var arg = JSON.parse(msg);
|
|
51
|
-
if (arg.returnValue) {
|
|
52
|
-
console.log("[APP_NAME: example web app] GETTIME_SUCCESS UTC : " + arg.utc);
|
|
53
|
-
//webOSSystem.PmLogString(6, "GETTIME_SUCCESS", '{"APP_NAME": "example web app"}', "UTC : " + arg.utc);
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
console.error("[APP_NAME: example web app] GETTIME_FAILED errorText : " + arg.errorText);
|
|
57
|
-
//webOSSystem.PmLogString(3, "GETTIME_FAILED", '{"APP_NAME": "example web app"}', "errorText : " + arg.errorText);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
function hello_callback(msg){
|
|
62
|
-
var arg = JSON.parse(msg);
|
|
63
|
-
if (arg.returnValue) {
|
|
64
|
-
document.getElementById("txt_msg").innerHTML = arg.Response;
|
|
65
|
-
console.log("[APP_NAME: example web app] CALLHELLO_SUCCESS response : " + arg.Response);
|
|
66
|
-
//webOSSystem.PmLogString(6, "CALLHELLO_SUCCESS", '{"APP_NAME": "example web app"}', "response : " + arg.Response);
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
console.error("[APP_NAME: example web app] CALLHELLO_FAILED errorText : " + arg.errorText);
|
|
70
|
-
//webOSSystem.PmLogString(3, "CALLHELLO_FAILED", '{"APP_NAME": "example web app"}', "errorText : " + arg.errorText);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
bridge.onservicecallback = getTime_callback;
|
|
75
|
-
bridge.call(getTimeApi, getTimeParams);
|
|
76
|
-
document.getElementById("txt_msg").onclick = function() {
|
|
77
|
-
bridge.onservicecallback = hello_callback;
|
|
78
|
-
bridge.call(helloApi, helloParams);
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
</script>
|
|
82
|
-
</head>
|
|
83
|
-
<body>
|
|
84
|
-
<div>
|
|
85
|
-
<h1 id="txt_msg">Hello, Web Application!!</h1>
|
|
86
|
-
</div>
|
|
87
|
-
</body>
|
|
88
|
-
</html>
|
|
1
|
+
<!--
|
|
2
|
+
Copyright (c) 2020-2024 LG Electronics Inc.
|
|
3
|
+
|
|
4
|
+
SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
-->
|
|
6
|
+
|
|
7
|
+
<!DOCTYPE html>
|
|
8
|
+
<html>
|
|
9
|
+
<head>
|
|
10
|
+
<title>Example Web App</title>
|
|
11
|
+
<style type="text/css">
|
|
12
|
+
body {
|
|
13
|
+
width: 100%;
|
|
14
|
+
height: 100%;
|
|
15
|
+
background-color:#202020;
|
|
16
|
+
}
|
|
17
|
+
div {
|
|
18
|
+
position:absolute;
|
|
19
|
+
height:100%;
|
|
20
|
+
width:100%;
|
|
21
|
+
display: table;
|
|
22
|
+
}
|
|
23
|
+
h1 {
|
|
24
|
+
display: table-cell;
|
|
25
|
+
vertical-align: middle;
|
|
26
|
+
text-align:center;
|
|
27
|
+
color:#FFFFFF;
|
|
28
|
+
}
|
|
29
|
+
</style>
|
|
30
|
+
<script type="text/javascript">
|
|
31
|
+
window.onload = function() {
|
|
32
|
+
var bridge = new WebOSServiceBridge();
|
|
33
|
+
/*
|
|
34
|
+
* getTimeApi calls gettime of systemservice, a module in the platform.
|
|
35
|
+
*/
|
|
36
|
+
var getTimeApi = 'luna://com.webos.service.systemservice/clock/getTime';
|
|
37
|
+
var getTimeParams = '{}';
|
|
38
|
+
|
|
39
|
+
/*
|
|
40
|
+
* helloApi calls the hello method of js_service template provided by CLI.
|
|
41
|
+
* In this case, the service name is used as default name "com.domain.app.service" is.
|
|
42
|
+
* If you change this service name, you need to change the service name of the following API.
|
|
43
|
+
*
|
|
44
|
+
* If you change the name to helloParmas as you want, the contents will be reflected on the screen.
|
|
45
|
+
*/
|
|
46
|
+
var helloApi = 'luna://com.domain.app.service/hello';
|
|
47
|
+
var helloParams = '{"name":"webOS"}';
|
|
48
|
+
|
|
49
|
+
function getTime_callback(msg){
|
|
50
|
+
var arg = JSON.parse(msg);
|
|
51
|
+
if (arg.returnValue) {
|
|
52
|
+
console.log("[APP_NAME: example web app] GETTIME_SUCCESS UTC : " + arg.utc);
|
|
53
|
+
//webOSSystem.PmLogString(6, "GETTIME_SUCCESS", '{"APP_NAME": "example web app"}', "UTC : " + arg.utc);
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
console.error("[APP_NAME: example web app] GETTIME_FAILED errorText : " + arg.errorText);
|
|
57
|
+
//webOSSystem.PmLogString(3, "GETTIME_FAILED", '{"APP_NAME": "example web app"}', "errorText : " + arg.errorText);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
function hello_callback(msg){
|
|
62
|
+
var arg = JSON.parse(msg);
|
|
63
|
+
if (arg.returnValue) {
|
|
64
|
+
document.getElementById("txt_msg").innerHTML = arg.Response;
|
|
65
|
+
console.log("[APP_NAME: example web app] CALLHELLO_SUCCESS response : " + arg.Response);
|
|
66
|
+
//webOSSystem.PmLogString(6, "CALLHELLO_SUCCESS", '{"APP_NAME": "example web app"}', "response : " + arg.Response);
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
console.error("[APP_NAME: example web app] CALLHELLO_FAILED errorText : " + arg.errorText);
|
|
70
|
+
//webOSSystem.PmLogString(3, "CALLHELLO_FAILED", '{"APP_NAME": "example web app"}', "errorText : " + arg.errorText);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
bridge.onservicecallback = getTime_callback;
|
|
75
|
+
bridge.call(getTimeApi, getTimeParams);
|
|
76
|
+
document.getElementById("txt_msg").onclick = function() {
|
|
77
|
+
bridge.onservicecallback = hello_callback;
|
|
78
|
+
bridge.call(helloApi, helloParams);
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
</script>
|
|
82
|
+
</head>
|
|
83
|
+
<body>
|
|
84
|
+
<div>
|
|
85
|
+
<h1 id="txt_msg">Hello, Web Application!!</h1>
|
|
86
|
+
</div>
|
|
87
|
+
</body>
|
|
88
|
+
</html>
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
<!--
|
|
2
|
-
Copyright (c) 2020-2024 LG Electronics Inc.
|
|
3
|
-
|
|
4
|
-
SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
-->
|
|
6
|
-
|
|
7
|
-
<!DOCTYPE html>
|
|
8
|
-
<html>
|
|
9
|
-
<head>
|
|
10
|
-
<script>location.href='http://webosose.org/';</script>
|
|
11
|
-
</head>
|
|
12
|
-
<body>
|
|
13
|
-
</body>
|
|
1
|
+
<!--
|
|
2
|
+
Copyright (c) 2020-2024 LG Electronics Inc.
|
|
3
|
+
|
|
4
|
+
SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
-->
|
|
6
|
+
|
|
7
|
+
<!DOCTYPE html>
|
|
8
|
+
<html>
|
|
9
|
+
<head>
|
|
10
|
+
<script>location.href='http://webosose.org/';</script>
|
|
11
|
+
</head>
|
|
12
|
+
<body>
|
|
13
|
+
</body>
|
|
14
14
|
</html>
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2020-2024 LG Electronics Inc.
|
|
3
|
-
*
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
// helloclient.js
|
|
8
|
-
// Subscribe & cancel subscription to helloService's heartbeat method
|
|
9
|
-
const Service = require('webos-service');
|
|
10
|
-
|
|
11
|
-
const service = new Service("com.example.helloclient"); // Register com.example.helloworld
|
|
12
|
-
|
|
13
|
-
console.log("simple call");
|
|
14
|
-
// Change @SERVICE-NAME@ to real service name
|
|
15
|
-
service.call("luna://@SERVICE-NAME@/hello", {}, function(message) {
|
|
16
|
-
console.log("call @SERVICE-NAME@/hello");
|
|
17
|
-
console.log("message payload: " + JSON.stringify(message.payload));
|
|
18
|
-
const sub = service.subscribe("luna://@SERVICE-NAME@/heartbeat", {subscribe: true});
|
|
19
|
-
const max = 10;
|
|
20
|
-
let count = 0;
|
|
21
|
-
sub.addListener("response", function(msg) {
|
|
22
|
-
console.log(JSON.stringify(msg.payload));
|
|
23
|
-
if (++count >= max) {
|
|
24
|
-
sub.cancel();
|
|
25
|
-
setTimeout(function() {
|
|
26
|
-
console.log(max+" responses received, exiting...");
|
|
27
|
-
process.exit(0);
|
|
28
|
-
}, 1000);
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
});
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2020-2024 LG Electronics Inc.
|
|
3
|
+
*
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
// helloclient.js
|
|
8
|
+
// Subscribe & cancel subscription to helloService's heartbeat method
|
|
9
|
+
const Service = require('webos-service');
|
|
10
|
+
|
|
11
|
+
const service = new Service("com.example.helloclient"); // Register com.example.helloworld
|
|
12
|
+
|
|
13
|
+
console.log("simple call");
|
|
14
|
+
// Change @SERVICE-NAME@ to real service name
|
|
15
|
+
service.call("luna://@SERVICE-NAME@/hello", {}, function(message) {
|
|
16
|
+
console.log("call @SERVICE-NAME@/hello");
|
|
17
|
+
console.log("message payload: " + JSON.stringify(message.payload));
|
|
18
|
+
const sub = service.subscribe("luna://@SERVICE-NAME@/heartbeat", {subscribe: true});
|
|
19
|
+
const max = 10;
|
|
20
|
+
let count = 0;
|
|
21
|
+
sub.addListener("response", function(msg) {
|
|
22
|
+
console.log(JSON.stringify(msg.payload));
|
|
23
|
+
if (++count >= max) {
|
|
24
|
+
sub.cancel();
|
|
25
|
+
setTimeout(function() {
|
|
26
|
+
console.log(max+" responses received, exiting...");
|
|
27
|
+
process.exit(0);
|
|
28
|
+
}, 1000);
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
});
|