Meaningful 424 error handler
As for now, RAFS returns 424
regardless of the core service error, just few codes will be returned as rafs error as well.
This makes troubleshooting and debugging very hard for end users, end user it is blind about the core service error. (Non existing schema, non-existing legal tag, etc). There is a wide description of each error for each core service.
The core service error should be returned at the error response.
I.E. (Integration tests)
test_delete_record[multi_stage_separator/mss.json-mss-opendes:work-product-component--MultiStageSeparatorTest:
{"code":424,"reason":"Failed to upsert record using the Storage service API."}
Why?
- Invalid legal tag?
- User doesn't have enough privileges?
- Core service timeout?
- What was the response code from core service?
As final user we don't have clear reason or who shall we contact to know why the request failed. We don't know what is the exact error from core services, it is hard to know or to debug what was the core reason, even harder if we don't have access to the logs or cluster (MEDS case).
Related to: !38 (merged) and #67 (closed)