0.25 Release
Includes several bug fixes and API changes:
-
HTTPClientchanges to allow streaming of the request body set in theHTTPRequestBuilder. ASupplier<ListenableFuture<ByteBuffer>>can provide sections (or chunks if chunk encoded) of the body to be streamed to the server. This has allowed us to also easily provide a body from anInputStream -
HTTPClientchanges to allow streaming of the response body. By default it will still buffer in memory and provide the result when the request completes. However this also allows you to specify aBodyConsumerto the request to be able to consume the body in chunks.
This change has resulted in an API breaking change. The maximum response size is no longer set on the HTTPClient constructor (and those constructors have since been removed). Instead the response size is set per-request, and handled by the set BodyConsumer if desired.
-
Performance improvements by reduced data copies and heap usage
-
Fix to large http chunk sections consuming large amounts of memory. Now more than 20KB per chunk wont be allocated.