telos-server 1.0.17 → 1.0.18
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 +26 -0
- package/telosServer.js +11 -5
package/package.json
CHANGED
package/serverUtils.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
var net = require('net');
|
|
1
2
|
var path = require("path");
|
|
2
3
|
var virtualSystem = require("virtual-system");
|
|
3
4
|
|
|
@@ -275,6 +276,30 @@ function isHTTPJSON(json) {
|
|
|
275
276
|
return true;
|
|
276
277
|
}
|
|
277
278
|
|
|
279
|
+
function isPortFree(port) {
|
|
280
|
+
|
|
281
|
+
return new Promise((resolve, reject) => {
|
|
282
|
+
|
|
283
|
+
let server = net.createServer();
|
|
284
|
+
|
|
285
|
+
server.once('error', (err) => {
|
|
286
|
+
|
|
287
|
+
server.close();
|
|
288
|
+
|
|
289
|
+
resolve(false);
|
|
290
|
+
});
|
|
291
|
+
|
|
292
|
+
server.once('listening', () => {
|
|
293
|
+
|
|
294
|
+
server.close();
|
|
295
|
+
|
|
296
|
+
resolve(true);
|
|
297
|
+
});
|
|
298
|
+
|
|
299
|
+
server.listen(port);
|
|
300
|
+
});
|
|
301
|
+
}
|
|
302
|
+
|
|
278
303
|
function processRequest(request, protocol, callback) {
|
|
279
304
|
|
|
280
305
|
let text = null;
|
|
@@ -304,5 +329,6 @@ module.exports = {
|
|
|
304
329
|
getFileData,
|
|
305
330
|
getFiles,
|
|
306
331
|
isHTTPJSON,
|
|
332
|
+
isPortFree,
|
|
307
333
|
processRequest
|
|
308
334
|
};
|
package/telosServer.js
CHANGED
|
@@ -155,14 +155,20 @@ var telosServer = {
|
|
|
155
155
|
let options = packet.content.options.options;
|
|
156
156
|
|
|
157
157
|
if(options.port != false) {
|
|
158
|
+
|
|
159
|
+
let port =
|
|
160
|
+
process.env.PORT || (options.port != null ? options.port : 80);
|
|
158
161
|
|
|
159
|
-
|
|
162
|
+
serverUtils.isPortFree(port).then((free) => {
|
|
160
163
|
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
);
|
|
164
|
+
if(!free)
|
|
165
|
+
return;
|
|
164
166
|
|
|
165
|
-
|
|
167
|
+
telosServer.server = http.createServer(telosServer.process);
|
|
168
|
+
telosServer.server.listen(port);
|
|
169
|
+
|
|
170
|
+
console.log("TELOS SERVER ON!");
|
|
171
|
+
});
|
|
166
172
|
}
|
|
167
173
|
},
|
|
168
174
|
server: null,
|