Reorganized a bit; Added preliminary web socket server.
This commit is contained in:
39
app.js
39
app.js
@@ -1,37 +1,2 @@
|
|||||||
var express = require('express');
|
import('./websocket')
|
||||||
var path = require('path');
|
import('./express')
|
||||||
var cookieParser = require('cookie-parser');
|
|
||||||
var logger = require('morgan');
|
|
||||||
var sassMiddleware = require('node-sass-middleware');
|
|
||||||
|
|
||||||
var indexRouter = require('./routes/index');
|
|
||||||
var pingRouter = require('./routes/ping');
|
|
||||||
|
|
||||||
var app = express();
|
|
||||||
|
|
||||||
let port = 3003;
|
|
||||||
let log = false;
|
|
||||||
|
|
||||||
if(process.env.PORT) port = process.env.PORT;
|
|
||||||
if(process.env.LOG) log = process.env.LOG;
|
|
||||||
|
|
||||||
console.log("Running on port: " + port);
|
|
||||||
|
|
||||||
if(log) app.use(logger('dev'));
|
|
||||||
app.use(express.json());
|
|
||||||
app.use(express.urlencoded({ extended: false }));
|
|
||||||
app.use(cookieParser());
|
|
||||||
app.use(sassMiddleware({
|
|
||||||
src: path.join(__dirname, 'public'),
|
|
||||||
dest: path.join(__dirname, 'public'),
|
|
||||||
indentedSyntax: true, // true = .sass and false = .scss
|
|
||||||
sourceMap: true
|
|
||||||
}));
|
|
||||||
//app.use(express.static(path.join(__dirname, 'public')));
|
|
||||||
|
|
||||||
app.use('/', indexRouter);
|
|
||||||
app.use('/ping', pingRouter);
|
|
||||||
|
|
||||||
app.listen(port);
|
|
||||||
|
|
||||||
module.exports = app;
|
|
||||||
|
|||||||
38
express.js
Normal file
38
express.js
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
|
||||||
|
let express = require('express');
|
||||||
|
let path = require('path');
|
||||||
|
let cookieParser = require('cookie-parser');
|
||||||
|
let logger = require('morgan');
|
||||||
|
let sassMiddleware = require('node-sass-middleware');
|
||||||
|
|
||||||
|
let indexRouter = require('./routes/index');
|
||||||
|
let pingRouter = require('./routes/ping');
|
||||||
|
|
||||||
|
let app = express();
|
||||||
|
|
||||||
|
let port = 3003;
|
||||||
|
let log = false;
|
||||||
|
|
||||||
|
if(process.env.PORT) port = process.env.PORT;
|
||||||
|
if(process.env.LOG) log = process.env.LOG;
|
||||||
|
|
||||||
|
console.log("Running on port: " + port);
|
||||||
|
|
||||||
|
if(log) app.use(logger('dev'));
|
||||||
|
app.use(express.json());
|
||||||
|
app.use(express.urlencoded({ extended: false }));
|
||||||
|
app.use(cookieParser());
|
||||||
|
app.use(sassMiddleware({
|
||||||
|
src: path.join(__dirname, 'public'),
|
||||||
|
dest: path.join(__dirname, 'public'),
|
||||||
|
indentedSyntax: true, // true = .sass and false = .scss
|
||||||
|
sourceMap: true
|
||||||
|
}));
|
||||||
|
//app.use(express.static(path.join(__dirname, 'public')));
|
||||||
|
|
||||||
|
app.use('/', indexRouter);
|
||||||
|
app.use('/ping', pingRouter);
|
||||||
|
|
||||||
|
app.listen(port);
|
||||||
|
|
||||||
|
module.exports = app;
|
||||||
29
package-lock.json
generated
29
package-lock.json
generated
@@ -14,7 +14,8 @@
|
|||||||
"mongodb": "^4.3.1",
|
"mongodb": "^4.3.1",
|
||||||
"morgan": "~1.9.1",
|
"morgan": "~1.9.1",
|
||||||
"node-sass-middleware": "0.11.0",
|
"node-sass-middleware": "0.11.0",
|
||||||
"underscore": "^1.13.2"
|
"underscore": "^1.13.2",
|
||||||
|
"ws": "^8.4.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"bestzip": "^2.1.7"
|
"bestzip": "^2.1.7"
|
||||||
@@ -2918,6 +2919,26 @@
|
|||||||
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
||||||
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
|
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
|
||||||
},
|
},
|
||||||
|
"node_modules/ws": {
|
||||||
|
"version": "8.11.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz",
|
||||||
|
"integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10.0.0"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"bufferutil": "^4.0.1",
|
||||||
|
"utf-8-validate": "^5.0.2"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"bufferutil": {
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"utf-8-validate": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/y18n": {
|
"node_modules/y18n": {
|
||||||
"version": "4.0.3",
|
"version": "4.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
|
||||||
@@ -5315,6 +5336,12 @@
|
|||||||
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
||||||
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
|
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
|
||||||
},
|
},
|
||||||
|
"ws": {
|
||||||
|
"version": "8.11.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz",
|
||||||
|
"integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==",
|
||||||
|
"requires": {}
|
||||||
|
},
|
||||||
"y18n": {
|
"y18n": {
|
||||||
"version": "4.0.3",
|
"version": "4.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz",
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "node ./bin/www",
|
"start": "node ./bin/www",
|
||||||
"build": "bestzip AvusdDataCollection.zip app.js bin public routes package*.json"
|
"build": "bestzip ../TempestDataCollection.zip app.js bin public routes package*.json"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"cookie-parser": "~1.4.4",
|
"cookie-parser": "~1.4.4",
|
||||||
@@ -13,7 +13,8 @@
|
|||||||
"mongodb": "^4.3.1",
|
"mongodb": "^4.3.1",
|
||||||
"morgan": "~1.9.1",
|
"morgan": "~1.9.1",
|
||||||
"node-sass-middleware": "0.11.0",
|
"node-sass-middleware": "0.11.0",
|
||||||
"underscore": "^1.13.2"
|
"underscore": "^1.13.2",
|
||||||
|
"ws": "^8.4.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"bestzip": "^2.1.7"
|
"bestzip": "^2.1.7"
|
||||||
|
|||||||
36
websocket.js
Normal file
36
websocket.js
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
import WebSocket, {WebSocketServer} from 'ws'
|
||||||
|
|
||||||
|
try {
|
||||||
|
const server = new WebSocketServer({
|
||||||
|
port: 3001,
|
||||||
|
perMessageDeflate: {
|
||||||
|
zlibDeflateOptions: {
|
||||||
|
// See zlib defaults.
|
||||||
|
chunkSize: 1024,
|
||||||
|
memLevel: 7,
|
||||||
|
level: 3
|
||||||
|
},
|
||||||
|
zlibInflateOptions: {
|
||||||
|
chunkSize: 10 * 1024
|
||||||
|
},
|
||||||
|
// Other options settable:
|
||||||
|
clientNoContextTakeover: true, // Defaults to negotiated value.
|
||||||
|
serverNoContextTakeover: true, // Defaults to negotiated value.
|
||||||
|
serverMaxWindowBits: 10, // Defaults to negotiated value.
|
||||||
|
// Below options specified as default values.
|
||||||
|
concurrencyLimit: 10, // Limits zlib concurrency for perf.
|
||||||
|
threshold: 1024 // Size (in bytes) below which messages
|
||||||
|
// should not be compressed if context takeover is disabled.
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
server.on('connection', function connection(socket) {
|
||||||
|
socket.on('message', function message(data) {
|
||||||
|
console.log("received: %s", data)
|
||||||
|
socket.send("pong")
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
catch(e) {
|
||||||
|
console.log(e);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user