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.
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