api.js
954 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
41
42
43
44
45
46
const logger = global.logger
class Api {
constructor(endpoint) {
this.request = require('request').defaults({
baseUrl: endpoint,
timeout: 10000
})
}
get(url, data) {
return new Promise((resolve, reject) => {
return this.request.get(url, {
qs: data,
json: true
}, (err, res, body) => {
if (err) {
logger.error(url, err)
return reject(err)
}
logger.log(url, JSON.stringify(data), JSON.stringify(body))
resolve(body)
})
})
}
post(url, data) {
return new Promise((resolve, reject) => {
return this.request.get(url, {
form: data,
json: true
}, (err, res, body) => {
if (err) {
logger.error(url, err)
return reject(err)
}
logger.log(url, JSON.stringify(data), JSON.stringify(body))
resolve(body)
})
})
}
}
module.exports = Api