1 | const requestify = require('requestify');
|
2 |
|
3 | class HttpClient {
|
4 |
|
5 | constructor (defaultHeaders) {
|
6 | this.defaultHeaders = defaultHeaders;
|
7 | }
|
8 |
|
9 | buildOptions (options) {
|
10 | options.headers = Object.assign({}, this.defaultHeaders, options.headers);
|
11 | return options;
|
12 | }
|
13 |
|
14 | request (url, options = {}) {
|
15 | return requestify.request(url, this.buildOptions(options));
|
16 | }
|
17 |
|
18 | get (url, options = {}) {
|
19 | return requestify.get(url, this.buildOptions(options));
|
20 | }
|
21 |
|
22 | post (url, data, options = {}) {
|
23 | return requestify.post(url, data, this.buildOptions(options));
|
24 | }
|
25 |
|
26 | put (url, data, options = {}) {
|
27 | return requestify.put(url, data, this.buildOptions(options));
|
28 | }
|
29 |
|
30 | delete (url, options = {}) {
|
31 | return requestify.delete(url, this.buildOptions(options));
|
32 | }
|
33 |
|
34 | head (url, options = {}) {
|
35 | return requestify.head(url, this.buildOptions(options));
|
36 | }
|
37 | }
|
38 |
|
39 | module.exports = HttpClient;
|