1 | var request = require('request');
|
2 | var winston = require('./winston');
|
3 |
|
4 | var C21Request = function(config){
|
5 | return {
|
6 |
|
7 | login: function(data){
|
8 | var url = config.authurl
|
9 | var options = {
|
10 | url: url,
|
11 | headers: {
|
12 | "Content-Type": 'application/json'
|
13 | },
|
14 | json: data
|
15 | }
|
16 |
|
17 | return new Promise(function(resolve, reject){
|
18 | request.post(options, function(err, res, body){
|
19 | if (err) { reject(err, res); }
|
20 | resolve(body);
|
21 | });
|
22 | })
|
23 | },
|
24 |
|
25 |
|
26 |
|
27 |
|
28 | post: function(uri, data){
|
29 | var url = config.url + '/api/' + config.appid + uri;
|
30 |
|
31 | var options = {
|
32 | url: url,
|
33 |
|
34 | headers: {
|
35 | "Content-Type": 'application/json'
|
36 | },
|
37 | json: data
|
38 | }
|
39 |
|
40 | if (config.authorization) {
|
41 | options.headers.Authorization = config.authorization;
|
42 | }
|
43 |
|
44 |
|
45 | return new Promise(function(resolve, reject){
|
46 | request.post(options, function(err, res, body){
|
47 | if (err) { reject(err, res); }
|
48 | resolve(body);
|
49 | });
|
50 | })
|
51 | },
|
52 |
|
53 |
|
54 | put: function(uri, data){
|
55 | var url = config.url + '/api/' + config.appid + uri;
|
56 | var options = {
|
57 | url: url,
|
58 | headers: {
|
59 | "Content-Type": 'application/json'
|
60 | },
|
61 | json: data
|
62 | }
|
63 | if (config.authorization) {
|
64 | options.headers.Authorization = config.authorization;
|
65 | }
|
66 |
|
67 |
|
68 | return new Promise(function(resolve, reject){
|
69 | request.put(options, function(err, res, body){
|
70 | if (err) {
|
71 |
|
72 | reject(err, res);
|
73 | }
|
74 | resolve(body);
|
75 | });
|
76 | })
|
77 | },
|
78 |
|
79 |
|
80 | delete: function(uri, data){
|
81 | var url = config.url + '/api/' + config.appid + uri;
|
82 | var options = {
|
83 | url: url,
|
84 | headers: {
|
85 | "Content-Type": 'application/json'
|
86 | },
|
87 | json: data
|
88 | }
|
89 |
|
90 | if (config.authorization) {
|
91 | options.headers.Authorization = config.authorization;
|
92 | }
|
93 |
|
94 |
|
95 | return new Promise(function(resolve, reject){
|
96 | request.delete(options, function(err, res, body){
|
97 | if (err) { reject(err, res); }
|
98 | resolve(body);
|
99 | });
|
100 | })
|
101 | },
|
102 | }
|
103 | }
|
104 |
|
105 | module.exports = C21Request |
\ | No newline at end of file |