1
0
mirror of synced 2025-04-21 22:25:55 +03:00

681 Commits

Author SHA1 Message Date
yhirose
83ee6007da Fix #500 2020-05-28 12:06:11 -04:00
yhirose
3eaa769a2d Fix #481, #483, #487 2020-05-26 18:34:32 -04:00
yhirose
b91540514d Fix #494 2020-05-25 10:50:24 -04:00
yhirose
ab563ff52c Fix #496 2020-05-25 10:38:47 -04:00
KTGH
8cad160c0a
Add HTTPLIB_COMPILE option to Cmake (#493)
This option (default OFF) automatically splits the file (with split.py)
into a header & source file, then compiles it as a shared/static
library. This requires an installed Python v3 executable to work.

This also adds a HTTPLIB_IS_COMPILED boolean that's available after a
finfind_package(httplib) call.

Note that the minimum Cmake version increased to 3.12 because of FindPython3.
Hopefully this isn't a problem, as it's already 3 years old at this point.
2020-05-24 16:07:44 -04:00
yhirose
be7962f140 Fix #489 2020-05-24 15:18:34 -04:00
yhirose
509b8570b0 Updated README 2020-05-23 19:08:17 -04:00
yhirose
630f3465a9 Deprecated set_timeout_sec, added set_connection_timeout. 2020-05-23 18:00:24 -04:00
yhirose
9af1a4a08f Fixed problem with stop on windows v0.6.5 2020-05-23 13:49:49 -04:00
yhirose
0654e5dab4 Changed CPPHTTPLIB_IDLE_INTERVAL_USECOND to 0 v0.6.4 2020-05-23 08:44:03 -04:00
yhirose
62e036f253 Fixed #488 again 2020-05-22 18:24:01 -04:00
yhirose
f0adfb2e0c Fix #488 2020-05-22 12:18:07 -04:00
yhirose
139c816c16 Fixed the location of Client2 2020-05-19 21:02:58 -04:00
KTGH
9505a76491
Bringing Cmake back (#470)
* Revert "Removed CMakeLists.txt. (Fix #421)"

This reverts commit 8674555b88f3b1eb9721eafdf690eeb8e99491af.

* Fail if cmake version too old

Previous behaviour is just a warning.

* Improve CMakeLists

Adds automatic dependency finding (if they were used).
Adds a way to require a specific version in the find_package(httplib) call.

You should link against the httplib::httplib IMPORTED target, which is
created automatically.

Add options to allow for strictly requiring OpenSSL/ZLIB

HTTPLIB_REQUIRE_OPENSSL & HTTPLIB_REQUIRE_ZLIB require the libs be found, or the build fails.

HTTPLIB_USE_OPENSSL_IF_AVAILABLE & HTTPLIB_USE_ZLIB_IF_AVAILABLE silently search for the libs.
If they aren't found, the build still continues, but shuts off support for those features.

* Add documentation to CMakeLists.txt

Has info on all the available options and what targets are produced.

Also put some things about installation on certain platforms.
2020-05-19 19:07:18 -04:00
yhirose
29fd136afd Code cleanup and format v0.6.3 2020-05-16 17:35:04 -04:00
yhirose
f5598237b2 Fixed many redirects problem on Proxy 2020-05-16 17:34:03 -04:00
Daniel Ottiger
01058659ab
make write timeout configurable (like the read timeout already is) (#477)
In case we want to send a lot of data,
and the receiver is slower than the sender.

This will first fill up the receivers queues and after this
eventually also the senders queues,
until the socket is temporarily unable to accept more data to send.

select_write is done with an timeout of zero,
which makes the select call used always return immediately:
(see http://man7.org/linux/man-pages/man2/select.2.html)

This means that every marginal unavailability will make it return false
for is_writable and therefore httplib will immediately abort the transfer.

Therefore make this values configurable in the same way
as the read timeout already is.

Set the default write timeout to 5 seconds,
the same default value used for the read timeout.
2020-05-16 17:31:46 -04:00
yhirose
66f698fab6 Fixed build errors with some examples v0.6.2 2020-05-16 00:50:52 -04:00
yhirose
b9a9df4d73 Fixed problem with writing large data 2020-05-15 22:21:58 -04:00
yhirose
25aa3ca982 Added std::ostream os in DataSink. 2020-05-15 21:26:13 -04:00
yhirose
2d67211183 Added more unit tests for the simple interface 2020-05-14 18:25:18 -04:00
yhirose
f4c5d94d74 Updated version in the User Agent string v0.6.1 2020-05-14 18:07:02 -04:00
yhirose
63a96aeb20 Improved Client2 interface 2020-05-14 12:51:34 -04:00
yhirose
bbb83d12c1 Removed default parameter values in Client and SSLClient constructors 2020-05-14 08:51:32 -04:00
yhirose
2d4b42b70b Removed url 2020-05-14 01:43:06 -04:00
yhirose
1919d08f71 Added Client2 2020-05-14 01:36:56 -04:00
yhirose
824c02fcd3 Code cleanup 2020-05-14 01:08:36 -04:00
yhirose
2c0613f211 Fix #472 v0.6.0 2020-05-13 21:48:14 -04:00
Saika Fatih
be45ff1ff1
A detail about Gzip support (#475)
* Typos fixed

* README.md edited.libz should be linked for GZIP support.
2020-05-12 17:38:51 -04:00
Saika Fatih
803ebe1e20
Typos fixed (#474) 2020-05-12 13:18:58 -04:00
yhirose
ba685dbe48 Fixed potential infinite loop with content receiver v0.5.13 2020-05-10 20:45:57 -04:00
yhirose
49c4c2f9c1 Fix #459 2020-05-10 20:39:16 -04:00
yhirose
58909f5917 Fix #466 2020-05-10 15:58:53 -04:00
yhirose
5982b5c360 Fix #471 2020-05-10 14:18:03 -04:00
yhirose
eb1fe5b191 Fixed warnings 2020-05-09 15:08:49 -04:00
yhirose
5e01587ed6 Fixed problem created in the previous commit 2020-05-09 13:43:06 -04:00
yhirose
5935d9fa59 Commented out the unit test for digest auth. 2020-05-09 13:32:51 -04:00
PixlRainbow
5bb4c12c6b
Fix #465 (#467)
update digest header username to use username parameter instead of "hello" test value
2020-05-09 08:29:08 -04:00
yhirose
85637844c9 Updated README 2020-05-07 21:13:45 -04:00
Daniel Ottiger
d043b18097
keepalive: support multiple post using content provider (#461) 2020-05-07 08:31:14 -04:00
yhirose
31bb13abd2 Removed TravisCI badge from README 2020-05-04 22:19:17 -04:00
yhirose
8728db7477 Apply IPV6_V6ONLY only when socket is AF_INET6 2020-05-04 22:16:43 -04:00
yhirose
1c50ac3667 Stop using TravisCI anymore due to IPv6 issue 2020-05-04 22:14:03 -04:00
yhirose
cf386f97fd Merge branch 'master' of https://github.com/yhirose/cpp-httplib 2020-05-04 22:13:17 -04:00
Daniel Ottiger
b2203bb05a
server: support dual-stack server socket (#450)
According to RFC 3493 the socket option IPV6_V6ONLY
should be off by default, see
https://tools.ietf.org/html/rfc3493#page-22 (chapter 5.3).

However this does not seem to be the case on all systems.
For instance on any Windows OS, the option is on by default.

Therefore clear this option in order to allow
an server socket which can support IPv6 and IPv4 at the same time.
2020-05-04 22:13:12 -04:00
yhirose
f5b806d995 Added a test case for #396. 2020-05-04 21:26:14 -04:00
yhirose
3895210f19 Code format 2020-05-04 21:25:59 -04:00
yhirose
d45250fd88 Appled HANDLE_EINTR to send and select system calls v0.5.12 2020-05-01 21:38:23 -04:00
yhirose
528cacdc0d Changed CPPHTTPLIB_THREAD_POOL_COUNT back to 8. (#454) 2020-05-01 21:23:02 -04:00
Matthew DeVore
ed1b6afa10
Fix crash caused by header field regex complexity (#457) 2020-05-01 12:44:13 -04:00