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.
What
remove special handling of
performSpeechRequest
handle receiving raw (non-JSON-wrapped) data in the same workflow as all other incoming data.
Why
AudioSpeechResult
wrapper uniquely does not represent JSON wrapped Data, but the endpoint rather returns raw Data.Since it's not JSON encoded, there's no way to use JSONDecoder and init(Decoder:) to correctly handle the returned data, but exceptional handling can be added for Data return type to skip JSONDecoder and return the raw Data object. Exception first attempts to decode using builtin Data type JSONDecoder, and only returns raw data when Data type is specified, and JSONDecode as Data type has failed, so this is a pretty reusable approach.
Affected Areas
performSpeechRequest