-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathroutes.js
More file actions
61 lines (52 loc) · 1.74 KB
/
routes.js
File metadata and controls
61 lines (52 loc) · 1.74 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
var JSX = require('node-jsx').install(),
React = require('react'),
ReactDOMServer = require('react-dom/server'),
BlogsList = React.createFactory(require('./components/BlogsList.react')),
Blog = React.createFactory(require('./components/Blog.react')),
request = require('request');
module.exports = {
index: function(req, res) {
var blogdata = {};
request('http://192.168.33.33/blog', function(err, response, data) {
if (!err && response.statusCode >= 200 && response.statusCode <=400) {
blogdata = data;
var markup = ReactDOMServer.renderToString(
BlogsList({ blogs: blogdata })
);
res.render('home', {
markup: markup
});
} else {
console.log(err);
}
});
},
blogpost: function(req, res) {
var blogdata = {},
slug = req.params.slug;
request({
url: 'http://192.168.33.33/' + slug + '?_format=json',
method: 'get',
type: 'application/json'
}, function(err, response, data) {
if (!err && response.statusCode >= 200 && response.statusCode <=400) {
data = JSON.parse(data);
blogdata.body = data.body ? data.body[0].value : null;
blogdata.title = data.title ? data.title[0].value : null;
blogdata.author = data.author ? data.author[0].value : null;
blogdata.created = data.created ? data.created[0].value : null;
var markup = ReactDOMServer.renderToString(
Blog({ key: 0, blog: blogdata })
);
res.render('blog', {
markup: markup
});
} else {
if (response.statusCode && response.statusCode == 403) {
console.error('403: Permission denied.');
}
console.log(err);
}
});
}
};