-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcad-server.js
More file actions
98 lines (81 loc) · 2.3 KB
/
cad-server.js
File metadata and controls
98 lines (81 loc) · 2.3 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
var
path = require('path'),
http = require('http'),
paperboy = require('paperboy'),
session = require('sesh').magicSession(),
nowjs = require("now"),
_ = require('underscore')._,
backbone = require('backbone'),
cradle = require('cradle'),
db = new(cradle.Connection)().database('cad'),
cad,
PORT = 8003,
WEBROOT = path.join(path.dirname(__filename), 'public');
server = http.createServer(function(req, res) {
var urlParams = require('url').parse(req.url, true).query || {},
ip = req.connection.remoteAddress;
killSession = function (){
req.session.data.user = "Guest";
res.writeHead(200, {'Content-Type': 'text/plain'});
res.write('You\'ve been logged out');
req.session.data.user = "";
req.session.data.password = "";
req.session.loggedIn = false;
res.end();
};
if(typeof urlParams.cadname != 'undefined'){
console.log('checking user');
if ( cad.validateUser( urlParams.cadname, urlParams.cadpassword)) {
req.session.data.user = urlParams.cadname;
req.session.data.password = urlParams.cadpassword;
req.session.loggedIn = true;
req.url = "index.html";
res.writeHead(302, { 'Location': 'index.html'});
res.end();
}
else
{
killSession();
console.log("Failed log in:" + urlParams.cadname);
};
};
if(req.url === '/logout'){
killSession();
return;
};
if (!req.session.loggedIn)
{
req.url = "/login.html";
};
paperboy
.deliver(WEBROOT, req, res)
.addHeader('Expires', 300)
.addHeader('X-PaperRoute', 'Node')
.before(function() {
})
.after(function(statCode) {
log(statCode, req.url, ip);
})
.error(function(statCode, msg) {
res.writeHead(statCode, {'Content-Type': 'text/plain'});
res.end("Error " + statCode);
log(statCode, req.url, ip, msg);
})
.otherwise(function(err) {
res.writeHead(404, {'Content-Type': 'text/plain'});
res.end("Error 404: File not found");
log(404, req.url, ip, err);
});
})
server.listen(PORT);
everyone = nowjs.initialize(server);
cad = require("./cad-system.js").cad(server, everyone, db);
everyone.now.consoleTest = function() {
console.log('test!!');
};
function log(statCode, url, ip, err) {
var logStr = statCode + ' - ' + url + ' - ' + ip;
if (err)
logStr += ' - ' + err;
//console.log(logStr);
}