-
Notifications
You must be signed in to change notification settings - Fork 0
/
server.js
102 lines (86 loc) · 2.58 KB
/
server.js
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
var express = require('express'), crypto = require('crypto');
var mongoose = require('mongoose');
mongoose.connect('mongodb://universitas:universitas@flame.mongohq.com:27086/universitas');
console.log(mongoose.connection.host);
var Schema = mongoose.Schema, ObjectId = Schema.ObjectId;
var Palestrante = new Schema({
_id : ObjectId
, name : String
, photo : String
, twitter : String
, site : String
, created_at : { type: Date, "default": Date.now }
});
mongoose.model('Palestrante', Palestrante);
var Palestrante = mongoose.model('Palestrante');
function md5(str) { return crypto.createHash('md5').update(str).digest('hex'); }
var app = express.createServer();
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
app.use(express.bodyDecoder());
app.use(express.cookieDecoder());
app.use(express.session({ secret: 'braziljs' }));
var palestrantes = [
{
id: 1
, name: "Christiano Milfont"
, photo: "images/cmilfont.jpg"
, twitter: "@cmilfont"
, site: "http://www.milfont.org"
}
,
{
id: 2
, name: "Henrique Soares"
, photo: "images/gogo.jpg"
, twitter: "@henriquegogo"
, site: "http://www.gogs.com.br"
}
];
app.get('/', function(req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
});
app.get('/palestrantes', function(req, res){
var root = {
palestrantes: palestrantes,
total: palestrantes.length
}
res.send(JSON.stringify(root));
});
app.get('/palestrantes/:id', function(req, res){
var speaker = {};
palestrantes.forEach(function(palestrante){
if(palestrante.id == req.params["id"]) speaker = palestrante;
});
res.send(JSON.stringify(speaker));
});
app.post('/palestrantes', function(req, res){
var json = JSON.parse(req.body["json"]);
var palestrante = new Palestrante(json);
palestrante.save(function (err) {
if(err) console.log("Error: " + err);
});
res.send(JSON.stringify(palestrante));
});
app.put('/palestrantes/:id', function(req, res){
console.log(req.params);
console.log(req.body);
res.send(JSON.stringify(palestrantes));
});
app.delete('/palestrantes/:id', function(req, res){
console.log(req.params);
console.log(req.body);
res.send(JSON.stringify(palestrantes));
});
app.use(express.errorHandler({ showStack: true }));
app.use(express.staticProvider(__dirname));
app.listen(8000);
//app.listen(80, "64.30.137.193");
/*
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(80, "64.30.137.193");
*/