api.js
1.02 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
const logger = global.logger
class Api {
constructor(endpoint) {
this.endpoint = 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('[API]', this.endpoint + url, err)
return reject(err)
}
logger.log('[API]', this.endpoint + url, JSON.stringify(data))
resolve(body)
})
})
}
post(url, data) {
return new Promise((resolve, reject) => {
return this.request.post(url, {
body: data,
json: true
}, (err, res, body) => {
if (err) {
logger.error('[API]', this.endpoint + url, err)
return reject(err)
}
logger.log('[API]', this.endpoint + url, JSON.stringify(data))
resolve(body)
})
})
}
}
module.exports = Api