Skip to content

Commit e44e3e1

Browse files
authored
Merge pull request #15 from ns1/errors-new-structure
Add ability to pass whole response object to NS1Error class
2 parents 239a677 + c91959f commit e44e3e1

File tree

2 files changed

+13
-8
lines changed

2 files changed

+13
-8
lines changed

lib/NS1_request.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -191,13 +191,15 @@ function handle_error(err, response) {
191191
errorCb(err, response);
192192
}
193193
if (response && response.text) {
194-
var final_message = void 0;
194+
var final_message = void 0,
195+
data = void 0;
195196
try {
196-
final_message = JSON.parse(response.text).message;
197+
data = JSON.parse(response.text);
198+
final_message = data.message;
197199
} catch (e) {
198200
final_message = response.text;
199201
}
200-
return new NS1Error('NS1 API Request Failed on \n ' + this.method.toUpperCase() + ' ' + api_url + this.uri + ' \n ' + final_message + ' \n', final_message);
202+
return new NS1Error('NS1 API Request Failed on \n ' + this.method.toUpperCase() + ' ' + api_url + this.uri + ' \n ' + final_message + ' \n', final_message, data);
201203
} else {
202204
return new NS1Error('NS1 API Request Failed on \n ' + this.method.toUpperCase() + ' ' + api_url + this.uri + ' \n ' + err.message + ' \n', err.message);
203205
}
@@ -206,12 +208,13 @@ function handle_error(err, response) {
206208
var NS1Error = function (_Error) {
207209
_inherits(NS1Error, _Error);
208210

209-
function NS1Error(message, raw) {
211+
function NS1Error(message, raw, data) {
210212
_classCallCheck(this, NS1Error);
211213

212214
var _this3 = _possibleConstructorReturn(this, (NS1Error.__proto__ || Object.getPrototypeOf(NS1Error)).call(this, message));
213215

214216
_this3.raw = raw;
217+
_this3.data = data;
215218
return _this3;
216219
}
217220

src/NS1_request.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -161,22 +161,24 @@ function handle_error(err, response) {
161161
errorCb(err, response);
162162
}
163163
if (response && response.text) {
164-
let final_message
164+
let final_message, data
165165
try {
166-
final_message = JSON.parse(response.text).message
166+
data = JSON.parse(response.text)
167+
final_message = data.message
167168
} catch(e) {
168169
final_message = response.text
169170
}
170-
return new NS1Error(`NS1 API Request Failed on \n ${this.method.toUpperCase()} ${api_url}${this.uri} \n ${final_message} \n`, final_message)
171+
return new NS1Error(`NS1 API Request Failed on \n ${this.method.toUpperCase()} ${api_url}${this.uri} \n ${final_message} \n`, final_message, data)
171172
} else {
172173
return new NS1Error(`NS1 API Request Failed on \n ${this.method.toUpperCase()} ${api_url}${this.uri} \n ${err.message} \n`, err.message)
173174
}
174175
}
175176

176177
class NS1Error extends Error {
177-
constructor(message, raw) {
178+
constructor(message, raw, data) {
178179
super(message)
179180
this.raw = raw
181+
this.data = data
180182
}
181183
}
182184

0 commit comments

Comments
 (0)