-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
99 lines (80 loc) · 2.22 KB
/
Copy pathindex.js
File metadata and controls
99 lines (80 loc) · 2.22 KB
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
93
94
95
96
97
98
99
'use strict';
const db = {
"B9407F30-F5F8-466E-AFF9-25556B57FE6D": {
name: "Wagon 1",
used: ""
},
"2F234454-CF6D-4A0F-ADF2-F4911BA9FFA6": {
name: "Wagon 2",
used: ""
},
"093E82AF-1AF1-5D23-A161-7631AC741CD9": {
name: "Wagon 3",
used: ""
}
}
var express = require('express');
var logger = require('express-logger');
const https = require('https');
const fs = require('fs');
var app = express();
function logResponseBody(req, res, next) {
var oldWrite = res.write,
oldEnd = res.end;
var chunks = [];
res.write = function (chunk) {
chunks.push(chunk);
oldWrite.apply(res, arguments);
};
res.end = function (chunk) {
if (chunk)
chunks.push(chunk);
var body = Buffer.concat(chunks).toString('utf8');
console.log(req.path, body);
oldEnd.apply(res, arguments);
};
next();
}
app.use(logResponseBody);
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
app.get('/', function(req, res) {
res.send('Hello World!');
});
app.get('/inside/:wagonId/:userid', function(req, res) {
const wid = req.params.wagonId;
const uid = req.params.userid;
if (db[wid]["used"] === "") {
db[wid]["used"] = uid;
}
res.setHeader('Content-Type', 'application/json');
res.send(db);
});
app.get('/outside/:wagonId/:userid', function(req, res) {
const wid = req.params.wagonId;
const uid = req.params.userid;
Object.keys(db).forEach(key => {
if(key === wid && db[key]["used"] === uid) {
db[key]["used"] = "";
// res.send('checked out: ');
}
});
res.setHeader('Content-Type', 'application/json');
res.send(db);
});
app.get('/status', function(req, res) {
res.send("<pre>"+ JSON.stringify(db, undefined, 4) +"</pre>");
});
app.listen(3000, function() {
console.log('TravEasy app listening on port 3000!');
});
// var privateKey = fs.readFileSync( 'server.pem.key' );
// var certificate = fs.readFileSync( 'certificate.pem.cert' );
//
// https.createServer({
// key: privateKey,
// cert: certificate
// }, app).listen(3000);