smartystreets-javascript-sdk
Version:
Quick and easy Smarty address validation.
35 lines (29 loc) • 777 B
JavaScript
const Errors = require("./Errors");
class StatusCodeSender {
constructor(innerSender) {
this.sender = innerSender;
}
send(request) {
return new Promise((resolve, reject) => {
this.sender.send(request)
.then(resolve)
.catch(error => {
switch (error.statusCode) {
case 500:
error.error = new Errors.InternalServerError();
break;
case 503:
error.error = new Errors.ServiceUnavailableError();
break;
case 504:
error.error = new Errors.GatewayTimeoutError();
break;
default:
error.error = new Errors.DefaultError(error && error.payload && error.payload.errors[0] && error.payload.errors[0].message);
}
reject(error);
});
});
}
}
module.exports = StatusCodeSender;