Backport of UI: Handle error from ResponseWithStatusCode (#23116)
Co-authored-by: Chelsea Shaw <82459713+hashishaw@users.noreply.github.com>
This commit is contained in:
parent
b83be1c01b
commit
dfc1385992
|
@ -119,10 +119,18 @@ export default RESTAdapter.extend({
|
|||
|
||||
handleResponse(status, headers, payload, requestData) {
|
||||
const returnVal = this._super(...arguments);
|
||||
// ember data errors don't have the status code, so we add it here
|
||||
if (returnVal instanceof AdapterError) {
|
||||
// ember data errors don't have the status code, so we add it here
|
||||
set(returnVal, 'httpStatus', status);
|
||||
set(returnVal, 'path', requestData.url);
|
||||
// Most of the time when the Vault API returns an error, the payload looks like:
|
||||
// { errors: ['some error message']}
|
||||
// But sometimes (eg RespondWithStatusCode) it looks like this:
|
||||
// { data: { error: 'some error message' } }
|
||||
if (payload?.data?.error && !payload.errors) {
|
||||
// Normalize the errors from RespondWithStatusCode
|
||||
set(returnVal, 'errors', [payload.data.error]);
|
||||
}
|
||||
}
|
||||
return returnVal;
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue