Fill the errors
attribute for HTTP errors
#1528
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Some GCS client libraries (like this one), are quite strict when it comes to the set of attributes they expect to find in the error response. If any of those attributes is missing, they fail to deserialize the error.
In
fake-gcs-server
, thehttpError.Errors
attribute was always initialized tonil
, causing theerror.errors
JSON response attribute to be omitted and leading to failures in some client libraries.In this commit we address that issue by always providing content on the
errors
attribute (httpError.Errors
field) whenever we return an error response. The implementation is kept simple without aiming to return exactly the same values that are officially documented. The main goal is to have a sensible response that is structurally correct for the purposes of deserialization client-side.