swiftlang / swiftly

A Swift toolchain installer and manager, written in Swift.
https://swiftlang.github.io/swiftly/
Apache License 2.0
470 stars 24 forks source link

Fix NIOTooManyBytesError that sometimes occurs during XCTests #129

Closed cmcgee1024 closed 3 months ago

cmcgee1024 commented 3 months ago

Sometimes, when not using a GitHub access token, the API returns a content-length that is shorter than the true length of the response body, which causes NIO to throw the error because there are remaining bytes in the payload.

The upTo parameter for collect is not intended to be used in this way. It acts as an upper limit to the size of a reasonable response, which prevents excessive memory consumption attempting to process it.

Instead of setting the upTo to the length given by the response, set the upper limit to something static that is an expected limit to the size that is expected. In the case of JSON, set it to 1MB.

This fixes #128