* ClientImpl: Connection=close header control moved from process_request to send_
* Connection=close header control moved from send_ to handle_request
* SSLClient::connect_with_proxy error handling improved
* to_string definition added for Error::ProxyConnection
* Comment improvement
---------
Co-authored-by: akinelden <akin.elden@gmail.com>
* Fix successful decompress reported as Error::Read
Streams less than 4096 bytes are sometimes reported as failed reads because stream_.avail_in is not reduced to 0. The next iteration of the loop finds `prev_avail_in == strm_.avail_in` and return false. `ret = inflate(...)` returns Z_STREAM_END on the first iteration of the loop indicating that inflate is finished. This fix prevents the second iteration of the loop from failing.
* Fix successful decompress reported as Error::Read
- Add unit tests for raw deflate that illustrates the decompression failure when there are extra trailing bytes
Removed multiple old-style (C) casts and replaced them with the
appropriate _cast's. This makes httplib a better citizen inside projects
that are compiled with all warnings enabled.
Unfortunately one warning remains as a result of invoking an
OpenSSL macro (at least on Linux), that would have to be fixed
upstream.
Also fixed a few casts for invocations of setsockopt.
setsockopt takes a const void* for the value pointer, not a char*.
Well, except on Windows ...
Co-authored-by: Andre Eisenbach <git@4ae.us>
* Explicitly #include <utility> for use of std::move
* Move not copy Logger arg from Client to ClientImpl
* Move not copy, set_error_handler Handler to lambda
* Remove null statement in non-empty if/else block
I guess it was a relic from a time before the other statement was added.
---------
Co-authored-by: Daniel Boles <daniel.boles@voltalis.com>
* Support loading system certs from Keychein on MacOS
* review improvements: add deps to meson.build and improve conditional expressions in cmake
* fix tabs
* fix tabs
* review improvements
* fix after review
* additionally load root certs from the system root keychain
* cmake fix
* fix
* small refactoring
* small refactoring
---------
Co-authored-by: Sergey Kazmin <sergey.kazmin@kaspersky.com>