Throw errors on !==200 status codes from RTS

This commit is contained in:
Luke Barnard 2017-01-31 13:40:01 +00:00
parent 91d33e3cc4
commit 4c4cc585c7

View File

@ -1,5 +1,25 @@
const q = require('q');
const request = q.nfbind(require('browser-request'));
const request = (opts) => {
const expectingJSONOnSucess = opts.json;
if (opts.json) {
opts.json = false;
}
return q.nfbind(require('browser-request'))(opts).then((args) => {
const response = args[0];
let body = args[1];
// Do not expect JSON on error status code, throw error instead
if (response.statusCode !== 200) {
throw new Error(body);
}
if (expectingJSONOnSucess) {
body = JSON.parse(body);
}
return [response, body];
});
};
export default class RtsClient {
constructor(url) {