Files
firebase-tools/lib/responseToError.js
Michael Bleigh e854eefc4d Adds data:set
2015-10-12 10:42:24 -07:00

36 lines
660 B
JavaScript

'use strict';
var FirebaseError = require('./error');
var _ = require('lodash');
module.exports = function(response, body, options) {
if (response.statusCode < 400) {
return null;
}
if (!body.error) {
body.error = {
message: 'Unknown Error'
};
}
var message = body.error.message || body.error;
var exitCode;
if (response.statusCode >= 500) {
// 5xx errors are unexpected
exitCode = 2;
} else {
// 4xx errors happen sometimes
exitCode = 1;
}
return new FirebaseError(message, {
context: {
requestOptions: options,
body: body,
response: response
},
exit: exitCode
});
};