-
Notifications
You must be signed in to change notification settings - Fork 176
Expand file tree
/
Copy pathserver.js
More file actions
40 lines (31 loc) · 949 Bytes
/
server.js
File metadata and controls
40 lines (31 loc) · 949 Bytes
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
var express = require('express');
var bodyParser = require('body-parser');
var rawBody = require('../lib/middleware/rawbody');
var bitauthMiddleware = require('../lib/middleware/bitauth');
var users = {
'Tf7UNQnxB8SccfoyZScQmb34V2GdEtQkzDz': {name: 'Alice'},
'Tf22EUFxHWh4wmA3sDuw151W5C5g32jgph2': {name: 'Bob'}
};
var pizzas = [];
var app = express();
app.use(rawBody);
app.use(bodyParser());
app.get('/user', bitauthMiddleware, function (req, res) {
if (!req.sin || !users[req.sin]) {
return res.send(401, {error: 'Unauthorized'});
}
res.send(200, users[req.sin]);
});
app.post('/pizzas', bitauthMiddleware, function (req, res) {
if (!req.sin || !users[req.sin]) {
return res.send(401, {error: 'Unauthorized'});
}
var pizza = req.body;
pizza.owner = users[req.sin].name;
pizzas.push(pizza);
res.send(200, req.body);
});
app.get('/pizzas', function (req, res) {
res.send(200, pizzas);
});
app.listen(3000);