Remove an edge case where GET requests could be treated as batched #7073
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.
Previously, a
GET
request whose body was a JSON array with N elements would be interpreted as a batch of the operation specified in the query string repeated N times. Now we just ignore the body forGET
requests and never treat them as batched. This matches the Apollo Server 3 behavior.(You can try to sneak arrays into Apollo Server 3 GETs by using search parameters like
query[]=
, because AS3 uses thequerystring
npm package instead of the simpler W3C-styleURLSearchParams
. But that won't give you "an array of objects with keys likequery
"; it'll give you "an object with aquery
key whose value is an array", which isn't enough to make it trigger the batch code.)Note that Apollo Client Web's batched HTTP link explicitly refuses to send batched operations over GET.