Commit graph

1407 commits

Author SHA1 Message Date
Akın ELDEN
961a9379d5
Fix ()
* 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>
2023-07-29 12:09:25 -04:00
yhirose
ec87b04aff Fix 2023-07-29 00:53:57 -04:00
yhirose
aabf752a51 Fix 2023-07-28 23:37:45 -04:00
yhirose
afb0674ccb Fix 2023-07-21 20:36:01 -04:00
bdenhollander
ee625232a4
Fix successful decompress reported as Error::Read ()
* 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
2023-07-11 18:35:27 -04:00
Andrea Pappacoda
52d8dd41f1
build(meson): use C++14 with GTest >= 1.13.0 ()
GoogleTest, starting with vesion 1.13.0, requires C++14 to build. This
patch enables C++14 if GoogleTest 1.13.0 or newer is detected when
compiling the tests with Meson, making it possible to use new GTest
versions.

You can find GoogleTest's release notes at
<https://github.com/google/googletest/releases/tag/v1.13.0>.
2023-07-11 18:32:41 -04:00
Alexandre Bouvier
be07d2d7a9
cmake: fix comment () 2023-07-08 13:24:36 -04:00
yhirose
0f1b62c2b3 Release v0.13.1 2023-07-08 07:41:24 -04:00
yhirose
c30906a541 Code cleanup 2023-07-07 19:43:37 -04:00
bgs99
3533503323
Fix explicit constructor warning () 2023-07-07 13:17:19 -04:00
yhirose
82acdca638 Release v0.13.0 2023-07-06 18:32:42 -04:00
vmaffione
a1e56a567b
Result: allow default constructor () 2023-07-05 12:05:29 -04:00
yhirose
0c17d172a2 Code cleanup 2023-07-05 09:06:21 -04:00
yhirose
5d8e7c761f Updated README 2023-07-05 08:45:05 -04:00
bgs99
17fc522b75
Add named path parameters parsing (Implements ) ()
* Add named path parameters parsing

* Select match mode based on pattern

* Add examples and comments to README

* Add documentation to matchers
2023-07-05 07:44:19 -04:00
yhirose
f1daa5b88b Fix 2023-07-04 20:27:11 -04:00
yhirose
fe9a1949a6 Fixed an example in README 2023-06-28 11:28:08 -04:00
yhirose
50cba6db9f Fix 2023-06-27 21:23:23 -04:00
Nathan Moinvaziri
18592e7f98
Ability to turn off linking against OpenSSL if already detected. ()
We already detect OpenSSL in our tree for another project, but don't want to
link httplib against OpenSSL or with SSL support.

Allow us to `set(HTTPLIB_IS_USING_OPENSSL FALSE)`.
2023-06-27 20:09:42 -04:00
yhirose
bd9612b81e
Changed to use auto () 2023-06-17 02:18:34 -04:00
yhirose
7ab5fb65b2
Code cleanup () 2023-06-16 18:08:28 -04:00
Andre Eisenbach
8df5fedc35
Fix -Wold-style-cast warnings ()
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>
2023-06-16 17:30:24 -04:00
Jiwoo Park
4a61f68fa4
Don't overwrite the last redirected location ()
* Don't overwrite the last redirected location

* Check the last redirected location
2023-06-16 14:56:16 -04:00
Jiwoo Park
067890133c
Use nghttp2-hosted httpbin.org ()
* Use nghttp2-hosted httpbin.org

* Add CPPHTTPLIB_DEFAULT_HTTPBIN macro to choose the default httpbin.org
2023-06-15 11:12:41 -04:00
yhirose
d3076f5a70 v0.12.6 2023-06-10 07:02:38 +09:00
yhirose
ed129f057f Fixed C++11 warnings and code format 2023-06-09 20:49:46 +09:00
Jiwoo Park
eab5ea01d7
Load in-memory CA certificates ()
* Load in-memory CA certs

* Add test cases for in-memory cert loading

* Don't use the IIFE style
2023-06-09 16:34:51 +09:00
Petr Hosek
3e287b3a26
Provide a CMake option to disable C++ exceptions ()
This allows disabling the use of C++ exceptions at CMake configure time.
The value is encoded in the generated httplibTargets.cmake file and will
be used by CMake projects that import it.
2023-06-06 16:56:26 +09:00
v1gnesh
4f33637b43
Add support for zOS ()
Signed-off-by: v1gnesh <v1gnesh@users.noreply.github.com>
2023-06-06 14:14:06 +09:00
db-src
698a1e51ec
Move, not copy, Logger and Handler functors ()
* 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>
2023-06-02 15:40:00 +09:00
yhirose
27c0e1186c Release v12.0.5 2023-05-30 16:09:42 +09:00
Niccolò Iardella
c54c71a3e5
Add HTTPLIB_INSTALL CMake option ()
* Add HTTPLIB_INSTALL CMake option

* Proper formatting of HTTPLIB_INSTALL block

Co-authored-by: Jiwoo Park <jiwoo_90@naver.com>

---------

Co-authored-by: Niccolò Iardella <niccolo.iardella@doriansrl.it>
Co-authored-by: Jiwoo Park <jiwoo_90@naver.com>
2023-05-30 16:08:58 +09:00
yhirose
3409c00e6f Fixed warnings 2023-05-27 01:10:21 +09:00
yhirose
f8ef5fab64 Release v0.12.4 2023-05-27 00:57:43 +09:00
yhirose
5b397d455d Fix more CRLF injection problems. 2023-05-22 22:56:16 +09:00
yhirose
f977558a28 Release v0.12.3 2023-04-30 10:44:36 +09:00
Oleg Shparber
c2e156e0e0
Fix leaked handle in create_socket ()
Fixes resource leak problem detected by Coverity Scan.
2023-04-09 12:18:44 -04:00
yhirose
7aba2938d3 Fix 2023-04-08 15:36:13 -04:00
yhirose
d587548250 Fix 2023-04-08 14:53:55 -04:00
Jiwoo Park
21f9c51556
Remove whitespace in CMake generator expression () 2023-04-07 15:40:52 -04:00
yhirose
985ceba525 Updated README 2023-04-04 07:17:59 -07:00
Sergey Kazmin
e62a4b02e5
fix ()
Co-authored-by: Sergey Kazmin <sergey.kazmin@kaspersky.com>
2023-04-04 07:12:15 -07:00
Octavio Valle
ff34749572
Initialize sockaddr_un to fix valgrind uninitialised byte message. () 2023-04-03 08:28:01 -07:00
Jiwoo Park
e5804d4a50
Don't loading system certs from Keychain on iOS () 2023-04-01 06:26:30 -07:00
Jiwoo Park
3956a2b790
Fix ServerTest.ClientStop test case () 2023-03-30 09:50:51 -04:00
Jiwoo Park
b33aa52dc2
Fix lifetime issues in test using detail::scope_exit() ()
* Fix lifetime issues in test using detail::scope_exit()

* Remove checking joinable threads
2023-03-28 00:01:34 -04:00
yhirose
76230db97f Simplified scope_exit 2023-03-25 21:52:39 -04:00
yhirose
a66a013ed7 Release v0.12.2 2023-03-25 21:47:14 -04:00
yhirose
f4b02dfdc1 Fix 2023-03-25 21:13:07 -04:00
yhirose
4cf218643e Code format 2023-03-25 21:12:40 -04:00