-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathgithubapi.js
More file actions
47 lines (41 loc) · 1.27 KB
/
githubapi.js
File metadata and controls
47 lines (41 loc) · 1.27 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
var Promise = require('bluebird')
var request = Promise.promisifyAll(require('request'))
var jade = require('jade')
var _ = require('lodash')
module.exports = {
process: function(blk){
var url = _.get(blk,'body','').trim()
if (url.match(/^http/)){
return request
.getAsync({
url:url,
headers: {
'User-Agent': 'bigdatahci2015',
},
qs: {
client_id: 'bdceb479949622dbf6b2',
client_secret: '3ffe6f4f05c9878289935b6bcab56218c46357fa'
}
})
.then(function(x){
var locals = {}
if (x[0].statusCode == 200){
var data = JSON.parse(x[0].body)
locals = {
response: data,
url: url
}
this.ctx.data = data
} else {
locals = {
error: JSON.parse(x[0].body),
url: url
}
}
return jade.renderFile(__dirname + '/githubapi.jade', locals)
}.bind(this))
} else {
return ''
}
}
}