should render page now

This commit is contained in:
Martin Donnelly 2016-02-17 11:04:45 +00:00
parent 76e439bffc
commit 775cd483a3
3 changed files with 121 additions and 69 deletions

View File

@ -2,9 +2,9 @@
<project version="4">
<component name="ChangeListManager">
<list default="true" id="8a985735-5aff-47ce-a55f-2957d4f9c5f9" name="Default" comment="should render page now">
<change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/public/stylesheets/tables.css" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/views/temp.ejs" afterPath="$PROJECT_DIR$/views/temp.ejs" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/package.json" afterPath="$PROJECT_DIR$/package.json" />
<change type="MODIFICATION" beforePath="$PROJECT_DIR$/routes/temp.js" afterPath="$PROJECT_DIR$/routes/temp.js" />
</list>
<ignored path="silvrapi.iws" />
<ignored path=".idea/workspace.xml" />
@ -25,10 +25,10 @@
</component>
<component name="FileEditorManager">
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
<file leaf-file-name="temp.ejs" pinned="false" current-in-tab="true">
<file leaf-file-name="temp.ejs" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/views/temp.ejs">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.5753425">
<state vertical-scroll-proportion="-14.0">
<caret line="21" column="31" selection-start-line="21" selection-start-column="31" selection-end-line="21" selection-end-column="31" />
<folding />
</state>
@ -45,11 +45,11 @@
</provider>
</entry>
</file>
<file leaf-file-name="temp.js" pinned="false" current-in-tab="false">
<file leaf-file-name="temp.js" pinned="false" current-in-tab="true">
<entry file="file://$PROJECT_DIR$/routes/temp.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-8.157895">
<caret line="149" column="38" selection-start-line="149" selection-start-column="38" selection-end-line="149" selection-end-column="38" />
<state vertical-scroll-proportion="0.36183205">
<caret line="146" column="18" selection-start-line="146" selection-start-column="18" selection-end-line="146" selection-end-column="18" />
<folding />
</state>
</provider>
@ -88,8 +88,8 @@
<file leaf-file-name="newapp.js" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/newapp.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="36" column="16" selection-start-line="36" selection-start-column="16" selection-end-line="36" selection-end-column="16" />
<state vertical-scroll-proportion="-5.206897">
<caret line="24" column="34" selection-start-line="24" selection-start-column="34" selection-end-line="24" selection-end-column="34" />
<folding />
</state>
</provider>
@ -109,8 +109,11 @@
<entry file="file://$PROJECT_DIR$/package.json">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="22" column="0" selection-start-line="22" selection-start-column="0" selection-end-line="22" selection-end-column="0" />
<folding />
<caret line="23" column="0" selection-start-line="23" selection-start-column="0" selection-end-line="23" selection-end-column="0" />
<folding>
<marker date="1455705724595" expanded="true" signature="78:113" placeholder="{&quot;start&quot;: &quot;node ./bin/www&quot;...}" />
<marker date="1455705724595" expanded="true" signature="133:375" placeholder="{&quot;body-parser&quot;: &quot;~1.13.2&quot;...}" />
</folding>
</state>
</provider>
</entry>
@ -152,9 +155,9 @@
<option value="$PROJECT_DIR$/app.js" />
<option value="$PROJECT_DIR$/routes/time.js" />
<option value="$PROJECT_DIR$/newapp.js" />
<option value="$PROJECT_DIR$/routes/temp.js" />
<option value="$PROJECT_DIR$/public/stylesheets/tables.css" />
<option value="$PROJECT_DIR$/views/temp.ejs" />
<option value="$PROJECT_DIR$/routes/temp.js" />
</list>
</option>
</component>
@ -729,7 +732,13 @@
<option name="project" value="LOCAL" />
<updated>1455703809654</updated>
</task>
<option name="localTasksCounter" value="46" />
<task id="LOCAL-00046" summary="should render page now">
<created>1455705443426</created>
<option name="number" value="00046" />
<option name="project" value="LOCAL" />
<updated>1455705443426</updated>
</task>
<option name="localTasksCounter" value="47" />
<servers />
</component>
<component name="ToolWindowManager">
@ -742,7 +751,7 @@
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="7" side_tool="true" content_ui="tabs" />
<window_info id="npm" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="true" content_ui="tabs" />
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.2614108" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Version Control" active="true" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.2614108" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.47095436" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
<window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32823366" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
@ -828,7 +837,10 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="20" column="0" selection-start-line="20" selection-start-column="0" selection-end-line="20" selection-end-column="0" />
<folding />
<folding>
<marker date="1455705724595" expanded="true" signature="78:113" placeholder="{&quot;start&quot;: &quot;node ./bin/www&quot;...}" />
<marker date="1455705724595" expanded="true" signature="133:375" placeholder="{&quot;body-parser&quot;: &quot;~1.13.2&quot;...}" />
</folding>
</state>
</provider>
</entry>
@ -904,7 +916,10 @@
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="20" column="0" selection-start-line="20" selection-start-column="0" selection-end-line="20" selection-end-column="0" />
<folding />
<folding>
<marker date="1455705724595" expanded="true" signature="78:113" placeholder="{&quot;start&quot;: &quot;node ./bin/www&quot;...}" />
<marker date="1455705724595" expanded="true" signature="133:375" placeholder="{&quot;body-parser&quot;: &quot;~1.13.2&quot;...}" />
</folding>
</state>
</provider>
</entry>
@ -1112,8 +1127,11 @@
<entry file="file://$PROJECT_DIR$/package.json">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="22" column="0" selection-start-line="22" selection-start-column="0" selection-end-line="22" selection-end-column="0" />
<folding />
<caret line="23" column="0" selection-start-line="23" selection-start-column="0" selection-end-line="23" selection-end-column="0" />
<folding>
<marker date="1455705724595" expanded="true" signature="78:113" placeholder="{&quot;start&quot;: &quot;node ./bin/www&quot;...}" />
<marker date="1455705724595" expanded="true" signature="133:375" placeholder="{&quot;body-parser&quot;: &quot;~1.13.2&quot;...}" />
</folding>
</state>
</provider>
</entry>
@ -1149,14 +1167,6 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/newapp.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
<caret line="36" column="16" selection-start-line="36" selection-start-column="16" selection-end-line="36" selection-end-column="16" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/node_modules/sqlite3/lib/trace.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.0">
@ -1173,18 +1183,26 @@
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/routes/temp.js">
<entry file="file://$PROJECT_DIR$/views/temp.ejs">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="-8.157895">
<caret line="149" column="38" selection-start-line="149" selection-start-column="38" selection-end-line="149" selection-end-column="38" />
<state vertical-scroll-proportion="-14.0">
<caret line="21" column="31" selection-start-line="21" selection-start-column="31" selection-end-line="21" selection-end-column="31" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/views/temp.ejs">
<entry file="file://$PROJECT_DIR$/newapp.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.5753425">
<caret line="21" column="31" selection-start-line="21" selection-start-column="31" selection-end-line="21" selection-end-column="31" />
<state vertical-scroll-proportion="-5.206897">
<caret line="24" column="34" selection-start-line="24" selection-start-column="34" selection-end-line="24" selection-end-column="34" />
<folding />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/routes/temp.js">
<provider selected="true" editor-type-id="text-editor">
<state vertical-scroll-proportion="0.36183205">
<caret line="146" column="18" selection-start-line="146" selection-start-column="18" selection-end-line="146" selection-end-column="18" />
<folding />
</state>
</provider>

View File

@ -13,7 +13,8 @@
"events": "^1.1.0",
"express": "~4.13.1",
"morgan": "~1.6.1",
"serve-favicon": "~2.3.0"
"serve-favicon": "~2.3.0",
"websocket": "^1.0.22"
},
"devDependencies": {
"log4js": "^0.6.31",

View File

@ -1,4 +1,4 @@
var express = require('express'), fs = require('fs'), sqlite3 = require('sqlite3').verbose();
var express = require('express'), fs = require('fs'), sqlite3 = require('sqlite3').verbose(), http=require('http');
var EventEmitter = require('events');
var log4js = require('log4js');
var logger = log4js.getLogger();
@ -7,7 +7,7 @@ var router = express.Router();
var EventEmitter = require('events');
var busEmitter = new EventEmitter();
var WebSocketServer = require('websocket').server;
var temp_db;
var file = process.env.DB_HOME + '/' + "temp.db";
@ -64,40 +64,10 @@ function insertTempReading(time, reading) {
temp_db.run('BEGIN TRANSACTION');
temp_db.run('INSERT into temp(date, reading) VALUES (?,?);', [time, reading]);
temp_db.run('commit');
busEmitter.emit("wsSend", reading);
}
/*router.get('/', function (req, res, next) {
var now = new Date();
var t = req.query;
logger.debug('t:');
logger.debug(JSON.stringify(t));
if (req.query != {} && req.query.temp != null) {
// createDB();
res.writeHead(200, {"ContentType": "text/html"});
//res.send(JSON.stringify(t));
res.end('ok');
} else {
res.writeHead(200, {"ContentType": "text/html"});
//res.send(JSON.stringify(t));
res.end('error?');
}
});*/
/*router.get('/:id', function (req, res, next) {
var id = req.params.id;
logger.debug('id: ' + id);
res.writeHead(200, {"ContentType": "text/html"});
//res.send(JSON.stringify(t));
res.end('ok');
});*/
router.get('/', function (req, res, next) {
res.render('temp');
});
@ -159,8 +129,71 @@ module.exports = router;
createDB();
var sendSocketHandler = (obj) =>{
var doInsertEvent = (obj) =>{
// logger.info('sendSocket: ' + JSON.stringify(obj));
insertTempReading(obj.time, obj.value);
}
busEmitter.on('saveTempData', sendSocketHandler);
busEmitter.on('saveTempData', doInsertEvent);
// Socket Stuff
logger.info('Configuring WebSocket Listener...');
var server = http.createServer(function (request, response) {
console.log((new Date()) + ' Received request for ' + request.url);
response.writeHead(404);
response.end();
});
server.listen(8031, function () {
console.log((new Date()) + ' Server is listening on port 8080');
});
var wsServer = new WebSocketServer({
httpServer: server,
// You should not use autoAcceptConnections for production
// applications, as it defeats all standard cross-origin protection
// facilities built into the protocol and the browser. You should
// *always* verify the connection's origin and decide whether or not
// to accept it.
autoAcceptConnections: false
});
function originIsAllowed(origin) {
// put logic here to detect whether the specified origin is allowed.
return true;
}
wsServer.on('request', function (request) {
if (!originIsAllowed(request.origin)) {
// Make sure we only accept requests from an allowed origin
request.reject();
console.log((new Date()) + ' Connection from origin ' + request.origin + ' rejected.');
return;
}
var connection = request.accept('', request.origin);
console.log((new Date()) + ' Connection accepted.');
var sendSocketHandler = (obj) => {
// logger.info('sendSocket: ' + JSON.stringify(obj));
connection.sendUTF(JSON.stringify(obj));
}
busEmitter.on('wsSend', sendSocketHandler);
connection.on('message', function (message) {
if (message.type === 'utf8') {
console.log('Received Message: ' + message.utf8Data);
connection.sendUTF(message.utf8Data);
}
else if (message.type === 'binary') {
console.log('Received Binary Message of ' + message.binaryData.length + ' bytes');
connection.sendBytes(message.binaryData);
}
});
connection.on('close', function (reasonCode, description) {
console.log((new Date()) + ' Peer ' + connection.remoteAddress + ' disconnected.');
busEmitter.removeListener('sendSocket', sendSocketHandler);
});
});;