CSR :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
1) Make HttpHeaders final The abstract HttpHeader class has been made final, with a factory method for its construction. By eliminating a narrow, likely uncommon performance optimization possibility, it has been possible to make HttpHeaders final. 2) Dependent tasks run in the common pool The default execution of dependent tasks has been updated to run in the same executor as that of CompletableFuture's defaultExecutor. This is more familiar to developers that already use CF, and reduces the likelihood of the HTTP Client being starved of threads to execute its tasks. This is just default behaviour, both the HTTP Client and CompletableFuture allow more fine-grain control, if needed. 3) More descriptive error messages have been added when a server misbehaves. 4) The synchronous send method error handling has been updated to rethrow exceptions, therefore including the invoking thread's stack in the exception stack trace. 5) The immutable flow of response body data has been made an implementation detail, rather than part of the normative specification. This allows for a more performance focused implementation by making it possible to access the byte buffers backing bytes directly.