-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfutureserver.js
92 lines (71 loc) · 2.24 KB
/
futureserver.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
//Load necessary servers var sys = require('sys'); var fs = require('fs'); var http = require('http');
var connect = require('connect');
var express = require('express');
var url = require('url');
var numPostRequests = 0;
var numStatusRequests = 0;
var timeRunning = 0;
var lastStart = -1;
var wet = false;
var engines = require('consolidate');
var demo = true;
app = express();
app.set('views', __dirname + '/templates');
app.engine('html',require('ejs').renderFile);
//app.use(express.json());
//app.use(express.urlencoded());
app.get('/',function(request,response){
//response.write(returnStandardHead());
console.log('THIS IS A WEB PAGE REQUEST');
var url_parts = url.parse(request.url,true);
console.log(url_parts);
// response.write("<h1>this is an h1 tag</h1>");
// response.write("<script>document.write(" + onOrOff + ");</script>");
//response.write(returnEndOfBody());
//response.send("hi!");
response.render("index.html");
// response.send();
});
app.get('/status',function(request,response){
var url_parts = url.parse(request.url,true);
//console.log(url_parts);
console.log(wet);
console.log('status request: ' + numStatusRequests);
numStatusRequests = numStatusRequests + 1;
var out = wet ? '~on':'~off';
if(!demo){
var date = new Date();
if(date.getHours() > 6 || date.getHours() < 4){
out = '~off';
}
}
response.header('Access-Control-Allow-Origin','*');
response.header( 'Access-Control-Allow-Methods','GET,PUT,POST,DELETE');
response.header('Access-Control-Allow-Headers', 'Content-Type');
response.send(out);
});
app.post('/',function(request,response){
var url_parts = url.parse(request.url,true);
var query = url_parts.query;
if(query.status == 'wet'){
wet = true;
lastStart = new Date().getTime();
}
else{
wet = false;
timeRunning += new Date().getTime() - lastStart;
}
console.log("request: " + numPostRequests + '\n');
console.log('the sensor is ' + (wet ? 'wet':'dry'));
numPostRequests = numPostRequests + 1;
});
app.listen(8080,function(){
console.log('server started');
});
//returns every tag up until the starting body tag
function returnStandardHead(){
return "<html> <head> <title> Your Sprinkler </title> </head> <body>";
}
function returnEndOfBody(){
return "</body></html>";
}