telos-server 1.0.13 → 1.0.14
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/package.json +1 -1
- package/serverUtils.js +38 -13
- package/telosMiddleware.js +15 -21
- package/telosRouter.js +16 -4
- package/telosServer.js +3 -0
package/package.json
CHANGED
package/serverUtils.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
var fs = require("fs");
|
|
2
1
|
var path = require("path");
|
|
2
|
+
var virtualSystem = require("virtual-system");
|
|
3
3
|
|
|
4
4
|
var extensionTypes = {
|
|
5
5
|
'txt': 'text/plain',
|
|
@@ -43,16 +43,23 @@ function getAllFiles(directory) {
|
|
|
43
43
|
return items;
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
value = directory + path.sep + value;
|
|
46
|
+
directory = directory.split(":\\").join("://").split("\\").join("/");
|
|
49
47
|
|
|
50
|
-
|
|
51
|
-
items[value] = getFileData(value);
|
|
48
|
+
let contents = virtualSystem.getResource(directory);
|
|
52
49
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
50
|
+
if(!Array.isArray(contents))
|
|
51
|
+
return;
|
|
52
|
+
|
|
53
|
+
contents[0].forEach(item => {
|
|
54
|
+
Object.assign(items, getAllFiles(directory + path.sep + item));
|
|
55
|
+
});
|
|
56
|
+
|
|
57
|
+
contents[1].forEach(item => {
|
|
58
|
+
|
|
59
|
+
item = directory + path.sep + item;
|
|
60
|
+
|
|
61
|
+
items[item] = getFileData(item);
|
|
62
|
+
});
|
|
56
63
|
|
|
57
64
|
return items;
|
|
58
65
|
}
|
|
@@ -92,7 +99,7 @@ function getFileData(file) {
|
|
|
92
99
|
|
|
93
100
|
return {
|
|
94
101
|
file: file,
|
|
95
|
-
folder:
|
|
102
|
+
folder: Array.isArray(virtualSystem.getResource(file)),
|
|
96
103
|
meta: file.split(/[\/\\]/).map(item =>
|
|
97
104
|
item.split(".").slice(1).reduce(
|
|
98
105
|
(value, item) => {
|
|
@@ -127,7 +134,16 @@ function getFiles(items, paths) {
|
|
|
127
134
|
|
|
128
135
|
try {
|
|
129
136
|
|
|
130
|
-
|
|
137
|
+
file = file.split(":\\").join("://").split("\\").join("/");
|
|
138
|
+
|
|
139
|
+
let contents = virtualSystem.getResource(file);
|
|
140
|
+
|
|
141
|
+
if(!Array.isArray(contents))
|
|
142
|
+
return;
|
|
143
|
+
|
|
144
|
+
contents = contents[0].concat(contents[1]);
|
|
145
|
+
|
|
146
|
+
contents.forEach(item => {
|
|
131
147
|
|
|
132
148
|
if(item.toLowerCase().startsWith(alias.toLowerCase()))
|
|
133
149
|
files.push(file + path.sep + item);
|
|
@@ -145,8 +161,17 @@ function getFiles(items, paths) {
|
|
|
145
161
|
paths.forEach(file => {
|
|
146
162
|
|
|
147
163
|
try {
|
|
148
|
-
|
|
149
|
-
|
|
164
|
+
|
|
165
|
+
file = file.split(":\\").join("://").split("\\").join("/");
|
|
166
|
+
|
|
167
|
+
let contents = virtualSystem.getResource(file);
|
|
168
|
+
|
|
169
|
+
if(!Array.isArray(contents))
|
|
170
|
+
return;
|
|
171
|
+
|
|
172
|
+
contents = contents[0].concat(contents[1]);
|
|
173
|
+
|
|
174
|
+
contents.forEach(item => {
|
|
150
175
|
|
|
151
176
|
if(item.toLowerCase().startsWith("index"))
|
|
152
177
|
files.push(file + path.sep + item);
|
package/telosMiddleware.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
var fs = use("fs");
|
|
2
|
-
var path = use("path");
|
|
3
1
|
var pup = require("universal-preprocessor");
|
|
2
|
+
var virtualSystem = require("virtual-system");
|
|
4
3
|
|
|
5
4
|
let extensionTypes = {
|
|
6
5
|
'txt': 'text/plain',
|
|
@@ -49,23 +48,14 @@ function middlewareFolder(packet, file) {
|
|
|
49
48
|
|
|
50
49
|
if(file.type != "folder")
|
|
51
50
|
return;
|
|
52
|
-
|
|
53
|
-
let result = [[], []];
|
|
54
|
-
|
|
55
|
-
fs.readdirSync(file.file).forEach(item => {
|
|
56
|
-
|
|
57
|
-
result[
|
|
58
|
-
fs.lstatSync(
|
|
59
|
-
file.file + path.sep + item
|
|
60
|
-
).isDirectory() ? 0 : 1
|
|
61
|
-
].push(item);
|
|
62
|
-
})
|
|
63
51
|
|
|
64
52
|
return {
|
|
65
53
|
headers: {
|
|
66
54
|
"Content-Type": "text/json"
|
|
67
55
|
},
|
|
68
|
-
body: JSON.stringify(
|
|
56
|
+
body: JSON.stringify(
|
|
57
|
+
virtualSystem.getResource(file.file), null, "\t"
|
|
58
|
+
)
|
|
69
59
|
}
|
|
70
60
|
}
|
|
71
61
|
|
|
@@ -109,7 +99,10 @@ function middlewareJS(packet, file) {
|
|
|
109
99
|
<script>
|
|
110
100
|
|
|
111
101
|
${preprocess(
|
|
112
|
-
|
|
102
|
+
virtualSystem.getResource(
|
|
103
|
+
file.file.
|
|
104
|
+
split(":\\").join("://").split("\\").join("/")
|
|
105
|
+
)
|
|
113
106
|
)}
|
|
114
107
|
|
|
115
108
|
</script>
|
|
@@ -129,11 +122,10 @@ function middlewareJS(packet, file) {
|
|
|
129
122
|
var vision = use("kaeon-united")("vision");
|
|
130
123
|
|
|
131
124
|
vision.extend(JSON.parse("${
|
|
132
|
-
JSON.stringify(
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
)
|
|
125
|
+
JSON.stringify(preprocess(virtualSystem.getResource(
|
|
126
|
+
file.file.
|
|
127
|
+
split(":\\").join("://").split("\\").join("/")
|
|
128
|
+
)))
|
|
137
129
|
}");
|
|
138
130
|
|
|
139
131
|
</script>
|
|
@@ -152,7 +144,9 @@ function middlewareText(packet, file) {
|
|
|
152
144
|
"Content-Type": extensionTypes[file.type]
|
|
153
145
|
},
|
|
154
146
|
body: preprocess(
|
|
155
|
-
|
|
147
|
+
virtualSystem.getResource(
|
|
148
|
+
file.file.split(":\\").join("://").split("\\").join("/")
|
|
149
|
+
)
|
|
156
150
|
)
|
|
157
151
|
}
|
|
158
152
|
}
|
package/telosRouter.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
var apint = require("apint");
|
|
2
2
|
var path = require("path");
|
|
3
3
|
var serverUtils = require("./serverUtils.js");
|
|
4
|
+
var virtualSystem = require("virtual-system");
|
|
4
5
|
|
|
5
6
|
var telosRouter = {
|
|
6
7
|
config: {
|
|
@@ -19,9 +20,13 @@ var telosRouter = {
|
|
|
19
20
|
if(packet.tags != null) {
|
|
20
21
|
|
|
21
22
|
if(packet.tags.length == 1 &&
|
|
22
|
-
packet.tags[0] == "telos-engine"
|
|
23
|
+
(packet.tags[0] == "telos-engine" ||
|
|
24
|
+
packet.tags[0] == "telos-engine-refresh")) {
|
|
23
25
|
|
|
24
|
-
telosRouter.tasks =
|
|
26
|
+
telosRouter.tasks = (
|
|
27
|
+
telosRouter.tasks != null &&
|
|
28
|
+
packet.tags[0] == "telos-engine"
|
|
29
|
+
) ?
|
|
25
30
|
telosRouter.tasks :
|
|
26
31
|
Object.values(
|
|
27
32
|
serverUtils.getAllFiles(
|
|
@@ -37,10 +42,17 @@ var telosRouter = {
|
|
|
37
42
|
item => item.file
|
|
38
43
|
);
|
|
39
44
|
|
|
45
|
+
if(packet.tags[0] == "telos-engine-refresh")
|
|
46
|
+
return;
|
|
47
|
+
|
|
40
48
|
telosRouter.tasks.forEach(item => {
|
|
41
49
|
|
|
42
50
|
try {
|
|
43
|
-
|
|
51
|
+
|
|
52
|
+
use(
|
|
53
|
+
virtualSystem.getResource(item),
|
|
54
|
+
{ dynamic: true }
|
|
55
|
+
)();
|
|
44
56
|
}
|
|
45
57
|
|
|
46
58
|
catch(error) {
|
|
@@ -94,7 +106,7 @@ var telosRouter = {
|
|
|
94
106
|
}
|
|
95
107
|
|
|
96
108
|
catch(error) {
|
|
97
|
-
|
|
109
|
+
console.log(error);
|
|
98
110
|
}
|
|
99
111
|
}
|
|
100
112
|
|
package/telosServer.js
CHANGED
|
@@ -3,6 +3,7 @@ var fs = require("fs");
|
|
|
3
3
|
var http = require("http");
|
|
4
4
|
var https = require("https");
|
|
5
5
|
var busNet = use("bus-net");
|
|
6
|
+
var virtualSystem = require("virtual-system");
|
|
6
7
|
|
|
7
8
|
var telosServer = {
|
|
8
9
|
process: ((request, response) => {
|
|
@@ -149,6 +150,8 @@ var telosServer = {
|
|
|
149
150
|
return;
|
|
150
151
|
}
|
|
151
152
|
|
|
153
|
+
virtualSystem.initiateVirtualSystemDefault();
|
|
154
|
+
|
|
152
155
|
let options = packet.content.options.options;
|
|
153
156
|
|
|
154
157
|
if(options.port != false) {
|