UNPKG

5.29 kBJavaScriptView Raw
1// Generated by CoffeeScript 2.2.1
2var Response, _, contentDisposition, xml2js;
3
4contentDisposition = require('content-disposition');
5
6xml2js = require("xml2js");
7
8_ = require('underscore');
9
10Response = (function() {
11 class Response {
12 // constuctor
13 constructor(_response) {
14 this._response = _response;
15 if (this._response === void 0) {
16 throw new Error('Requires response');
17 }
18 return;
19 }
20
21 isError() {
22 if (this.code !== null) {
23 return true;
24 }
25 return false;
26 }
27
28 parseFile(buffer, cb) {
29 var disposition, filename;
30 if (!buffer && Buffer.isBuffer(buffer)) {
31 throw new Error('Requires buffer');
32 }
33 if (!cb) {
34 throw new Error('Requires callback');
35 }
36 disposition = contentDisposition.parse(this._response.headers['content-disposition']);
37 filename = disposition.parameters.filename;
38 this._data = this.data = {
39 filename: filename,
40 buffer: buffer
41 };
42 return cb(null, this);
43 }
44
45 parseBody(body, cb) {
46 if (!body) {
47 throw new Error('Requires body');
48 }
49 if (!cb) {
50 throw new Error('Requires callback');
51 }
52 this._data = body;
53 return xml2js.parseString(this._data, (err, data) => {
54 var error, record, ref, ref1, ref10, ref11, ref12, ref13, ref2, ref3, ref4, ref5, ref6, ref7, ref8, ref9, success;
55 if (err) {
56 return cb(err, null);
57 } else {
58 this.data = data;
59 if ((ref = this.data) != null ? (ref1 = ref.response) != null ? ref1.error : void 0 : void 0) {
60 error = this.data.response.error;
61 if (_.isArray(error)) {
62 error = _.first(error);
63 }
64 if (error != null ? error.code : void 0) {
65 this.code = error.code;
66 }
67 if (error != null ? error.message : void 0) {
68 this.message = error.message;
69 } else {
70 this.message = "Unknown Error";
71 }
72 return cb({
73 code: this.code,
74 message: this.message
75 }, this);
76 } else if ((ref2 = this.data) != null ? (ref3 = ref2.response) != null ? ref3.nodata : void 0 : void 0) {
77 error = this.data.response.nodata;
78 if (_.isArray(error)) {
79 error = _.first(error);
80 }
81 if (error != null ? error.code : void 0) {
82 this.code = error.code;
83 if (_.isArray(this.code)) {
84 this.code = _.first(this.code);
85 }
86 }
87 if (error != null ? error.message : void 0) {
88 this.message = error.message;
89 if (_.isArray(this.message)) {
90 this.message = _.first(this.message);
91 }
92 } else {
93 this.message = "Unknown Error";
94 }
95 return cb(null, this);
96 } else {
97 if ((ref4 = this.data) != null ? (ref5 = ref4.response) != null ? ref5.result : void 0 : void 0) {
98 if (_.isArray((ref6 = this.data) != null ? (ref7 = ref6.response) != null ? ref7.result : void 0 : void 0) && ((ref8 = this.data) != null ? (ref9 = ref8.response) != null ? ref9.result.length : void 0 : void 0) === 1) {
99 record = _.first((ref10 = this.data) != null ? (ref11 = ref10.response) != null ? ref11.result : void 0 : void 0);
100 if (record != null ? record.message : void 0) {
101 this.message = record.message;
102 }
103 if (record != null ? record.recorddetail : void 0) {
104 this.data = record.recorddetail;
105 } else {
106 this.data = record;
107 }
108 } else {
109 return cb(new Error("Multi result arrays not handled"), this);
110 }
111 } else if ((ref12 = this.data) != null ? (ref13 = ref12.response) != null ? ref13.success : void 0 : void 0) {
112 success = this.data.response.success;
113 if (_.isArray(success)) {
114 success = _.first(success);
115 }
116 if (success != null ? success.code : void 0) {
117 this.code = success.code;
118 if (_.isArray(this.code)) {
119 this.code = _.first(this.code);
120 }
121 }
122 if (success != null ? success.message : void 0) {
123 this.message = success.message;
124 if (_.isArray(this.message)) {
125 this.message = _.first(this.message);
126 }
127 } else {
128 this.message = "Unknown Success";
129 }
130 this.data = {
131 'success': {
132 'code': this.code,
133 'message': this.message
134 }
135 };
136 }
137 return cb(null, this);
138 }
139 }
140 });
141 }
142
143 };
144
145 // instance values
146 Response.prototype.message = null;
147
148 Response.prototype.type = null;
149
150 Response.prototype.data = null;
151
152 Response.prototype.code = null;
153
154 Response.prototype._response = null;
155
156 Response.prototype._data = null;
157
158 return Response;
159
160}).call(this);
161
162module.exports = Response;