Releases: threadly/litesockets-http
release-0.27
0.27 Release with latest litesockets
0.26 Release
HTTPClient / Requests don't force a maximum timeout. Allowing arbitrarily large timeouts, or even disabled (through negative values). See PR #35
0.25 Release
Includes several bug fixes and API changes:
-
HTTPClient
changes 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
-
HTTPClient
changes 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 aBodyConsumer
to 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.
0.24 HTTPClient to allow a request queue limit
This release adds extra constructors so you can specify the request queue limit (see PR #32 ).
This can help facilitate fail fast when a back end service is over-occupied and prevent excessive queuing which likely will timeout anyways.
By default the queue is still unbounded, as that has the potential for the most performance. It is also recommended to never set the queue size to be less than the maximum concurrent requests.
Bug fix for HTTPClient leak after timeout
See PR #31 for more details. This fixes a condition where after timeout the client may remain "in progress", preventing additional requests from starting and possibly eventually locking up the client.
0.22 Bug Fix release
- Fixes a HTTPServer NullPointerException when a client connects without a handler set.
- Renamed
addHandler
tosetHandler
to be more consistent on if it's a single instance or multiple listeners
0.21 Release
Primary feature add was HTTPClient to provide the current status when the request times out.
0.20 Release
- fixed websocket handling in HTTPServer
- improved HTTPServers.
- refactored Websockets api.
0.19 Release
Fix issue in HTTPClient where request would fail after sending it when the remote side had intended to close the connection but the close had not been witnessed before sending the request.
With this release we will retry a request if the request has not received any data yet from the remote side. Timeouts will still apply since the start of the request, so the time to recognize the failure state will be included in the timeout considerations of the request.
0.18 Release
Fix in HttpClient
for not timing out requests if they are unable to be started.