Backport of UI: Handle error from ResponseWithStatusCode (#23116)

Co-authored-by: Chelsea Shaw <82459713+hashishaw@users.noreply.github.com>
This commit is contained in:
hc-github-team-secure-vault-core 2023-09-15 16:38:22 -04:00 committed by GitHub
parent b83be1c01b
commit dfc1385992
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 9 additions and 1 deletions

View File

@ -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;
},