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');
|
2015-05-19 10:14:06 +02:00
|
|
|
var session = require('cookie-session');
|
2015-05-18 17:51:20 +02:00
|
|
|
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-19 10:14:06 +02:00
|
|
|
app.set('trust proxy', 1);
|
2015-05-05 11:56:35 +02:00
|
|
|
|
2015-05-19 10:14:06 +02:00
|
|
|
app.use(cookieParser(secret.secret));
|
2015-05-18 17:51:20 +02:00
|
|
|
app.use(session({
|
2015-05-19 10:14:06 +02:00
|
|
|
// express-session
|
|
|
|
// saveUninitialized: true,
|
|
|
|
// resave: true,
|
|
|
|
// secret: secret.secret
|
|
|
|
|
|
|
|
// cookie-session
|
|
|
|
keys: ['key1', 'key2']
|
2015-05-18 17:51:20 +02:00
|
|
|
}));
|
|
|
|
|
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();
|
|
|
|
});
|
|
|
|
|
2015-05-19 10:14:06 +02:00
|
|
|
app.use(function(req, res, next) {
|
|
|
|
if (req.cookies.alreadyCame) {
|
|
|
|
res.locals.alertCookie = false;
|
|
|
|
} else {
|
|
|
|
res.locals.alertCookie = true;
|
|
|
|
res.cookie('alreadyCame', true);
|
|
|
|
}
|
|
|
|
next();
|
|
|
|
});
|
|
|
|
|
2015-05-05 11:56:35 +02:00
|
|
|
// 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-19 10:14:06 +02:00
|
|
|
var user_id = req.session.user_id;
|
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');
|
2015-05-19 10:14:06 +02:00
|
|
|
res.send("user_id = " + user_id);
|
2015-05-18 15:33:14 +02:00
|
|
|
});
|
|
|
|
|
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
|
|
|
app.listen(server_port, server_ip_address);
|