feat: configurable Fetch parsers #9997
Draft
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.
This PR
Open questions:
json streaming formats like
ndjson
,jsonl
,json-seq
andccdj
can likely incrementally parse the response. Some formats can likely do a streaming parse without text decoding.we could produce a series of fetch-handler utils to aide construction of this sort of handler instead.
The Fetch handler offers broad utility beyond its JSON parse, but maybe there's a better way to surface that utility.
This approach still assumes a json parse of errors falling back to simple body-as-string.
xml2json
be a default parser?It has a lot of utility especially for ML and is rather easy and small to achieve.
Currently fetch does not handle adding a body to the request, probably should not begin doing so here .... but ... if no body is present we could introduce auto-serialization of the
data
property. In which case we'd want serialization utils here.