-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathserver.js
More file actions
113 lines (87 loc) · 2.56 KB
/
server.js
File metadata and controls
113 lines (87 loc) · 2.56 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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
var express = require('express');
var path = require('path');
var haggle = require('./haggle');
var user = require('./user');
var item = require('./item');
var image = require('./image');
var queue = require('./queue.js');
const SERVER_PORT = 10000;
var app = express.createServer();
app.configure(function() {
app.use(express.methodOverride());
app.use(express.bodyParser());
app.use(app.router);
app.set("views", __dirname + '/views');
app.set('view engine', 'ejs');
console.log('dirname', __dirname);
app.use("/js", express.static(__dirname + '/js'));
app.use("/css", express.static(__dirname + '/css'));
app.use("/img", express.static(__dirname + '/img'));
app.register('.html', require('ejs'));
app.set('view options', {
layout: 'layout.html',
pageTitle: ''
});
// start polling the database for new haggles
});
setInterval(function() {
haggle.poll();
}, 5000);
app.post('/haggle/:pid([0-9]+)/:uid([0-9]+)/:price', haggle.post);
app.get('/haggle/:pid([0-9]+)/:uid([0-9]+)', haggle.get);
app.post('/item', item.post);
app.get('/item/:id([0-9]+)', item.get);
app.post('/user/:id([0-9]+)', user.post);
app.get('/user/:id([0-9]+)', user.get);
app.post('/image/:id([0-9]+)', image.post);
app.get('/image/:id([0-9]+)', image.get);
// queueId/productId/userId
app.post('/queue/:pid([0-9]+)/:uid([0-9]+)', queue.post);
app.get('/queue/:pid([0-9]+)', queue.get);
app.listen(SERVER_PORT);
console.log("HAGGLE server running on port", SERVER_PORT);
function renderTemplate(req, res, template, variables) {
if (template.indexOf('.html')< 0) {
template = template + ".html";
}
res.render(template, variables);
}
app.get('/', function(req, res) {
renderTemplate(req, res, 'index', {
pageTitle: 'Haggle'
});
});
app.get('/haggle', function(req, res) {
renderTemplate(req, res, 'haggle', {
pageTitle: 'Haggle.ME'
});
});
app.get('/register', function(req, res) {
renderTemplate(req, res, 'register', {
pageTitle: 'Haggle.ME'
});
});
app.get('/create', function(req, res) {
renderTemplate(req, res, 'create-item', {
pageTitle: 'Create New Item'
});
});
app.get('/profile/:uid([0-9]+)', function(req, res) {
var uid = req.params.uid;
console.log(uid);
renderTemplate(req, res, 'seller-profile', {
pageTitle: 'Seller Profile',
userId: uid
});
});
app.get('/haggle', function(req, res) {
renderTemplate(req, res, 'haggle', {
pageTitle: 'Haggle.ME'
});
});
app.get('/products', function(req, res) {
renderTemplate(req, res, 'seller-products', {
pageTitle: 'Seller Products'
});
});
module.exports = app;