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.
Hey 👋
The method
Redmine\Client\AbstractApi::retrieveData()
returns many elements of an endpoint as an array. During the conversion of the response, errors may occur under certain circumstances. In this case the method would returnfalse
, or throw anThrowable
.To better guarantee that only an array is returned (and not false) I created a new method
retrieveData()
. In case of errors in the response a newSerializerException
is thrown.The method
retrieveAll()
also uses 3 new internal serializers, in which I have outsourced the logic for decoding and encoding XML, JSON and URL paths. I am already working on a next PR where these serializers will be used to bundle the serialization of request/response bodies for XML and JSON. This will be a next step to be able to dynamically switch the format in the request/response between XML and JSON, see #146.