UNPKG

2.56 kBJavaScriptView Raw
1var request = require('request');
2var winston = require('./winston');
3
4var 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 // winston.debug("options", options);
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 // TODO togli /api da qui?
26 // #aggiungi /api qui per aiutare le persone tra dashboard e server?
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 // winston.debug("options", options);
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 //winston.debug("options", options);
68 return new Promise(function(resolve, reject){
69 request.put(options, function(err, res, body){
70 if (err) {
71 //winston.debug("error putting", err);
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 //winston.debug("chat21-node-sdk options", options);
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
105module.exports = C21Request
\No newline at end of file