3d-interface/server.js

91 lines
2.2 KiB
JavaScript
Raw Normal View History

2015-05-05 11:56:35 +02:00
var http = require('http');
var express = require('express');
2015-05-05 16:30:51 +02:00
var jade = require('jade');
2015-05-18 10:48:37 +02:00
var pg = require('pg');
2015-05-18 17:51:20 +02:00
// secret variables
var secret = require('./private');
2015-05-05 11:56:35 +02:00
var app = express();
2015-05-18 17:51:20 +02:00
var bodyParser = require('body-parser');
var session = require('express-session');
var cookieParser = require('cookie-parser');
2015-05-05 11:56:35 +02:00
var urls = require('./urls');
2015-05-05 16:30:51 +02:00
app.set('view engine', 'jade');
2015-05-05 11:56:35 +02:00
2015-05-18 17:51:20 +02:00
app.use(cookieParser());
app.use(session({
saveUninitialized: true,
resave: true,
secret: secret.secret
}));
2015-05-18 15:33:14 +02:00
app.use(bodyParser.text());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
// app.use(bodyParser.text({ type: 'text/html' }))
2015-05-05 11:56:35 +02:00
app.use(function(req, res, next) {
res.locals.title = "3DUI";
res.locals.urls = urls;
next();
});
// Load controllers
require('./lib/boot')(app, { verbose: !module.parent });
app.use('/static', express.static('static'));
2015-05-18 15:33:14 +02:00
app.post('/post', function(req, res) {
2015-05-18 17:51:20 +02:00
var user_id = 1;
2015-05-18 15:33:14 +02:00
var arrow_id = req.body.arrow_id;
2015-05-18 17:51:20 +02:00
pg.connect(secret.url, function(err, client, release) {
2015-05-18 16:29:44 +02:00
client.query(
"INSERT INTO arrowclicked(user_id, arrow_id) VALUES($1,$2);",
[user_id, arrow_id],
function(err, result) {
release();
}
);
2015-05-18 15:33:14 +02:00
});
res.setHeader('Content-Type', 'text/html');
res.send("Hello");
});
2015-05-06 16:32:00 +02:00
// When error raised
2015-05-05 11:56:35 +02:00
app.use(function(err, req, res, next) {
if (err.status === 404) {
res.setHeader('Content-Type', 'text/html');
2015-05-05 16:30:51 +02:00
res.render('404.jade', res.locals, function(err, result) {
2015-05-05 11:56:35 +02:00
res.send(result);
});
}
});
2015-05-06 16:32:00 +02:00
// When route not found, raise not found
2015-05-05 11:56:35 +02:00
app.use(function(req, res) {
res.setHeader('Content-Type', 'text/html');
2015-05-05 16:30:51 +02:00
res.render('404.jade', res.locals, function(err, result) {
2015-05-05 11:56:35 +02:00
res.send(result);
});
});
2015-05-06 16:52:27 +02:00
// Set ports and ip address
2015-05-06 16:51:39 +02:00
var server_port, server_ip_address;
2015-05-06 16:32:00 +02:00
if ( app.get('env') === 'development' ) {
server_port = 4000;
2015-05-06 16:51:39 +02:00
server_ip_address = 'localhost';
2015-05-06 16:32:00 +02:00
} else {
2015-05-06 16:51:39 +02:00
// Openhift conf
2015-05-06 16:32:00 +02:00
server_port = process.env.OPENSHIFT_NODEJS_PORT || 8080;
server_ip_address = process.env.OPENSHIFT_NODEJS_IP || '127.0.0.1';
}
2015-05-06 16:51:39 +02:00
console.log("Starting server on " + server_ip_address + ":" + server_port);
app.listen(server_port, server_ip_address);