1
0
mirror of synced 2025-06-10 20:21:41 +03:00
Commit Graph

521 Commits

Author SHA1 Message Date
321a86d9f2 Add *.dSYM to Makefile clean 2025-02-18 05:56:22 -05:00
6e73a63153 Make poll() the default (#2065)
* Make poll() the default

select() can still be enabled by defining CPPHTTPLIB_USE_SELECT.

* Run tests with select() and poll()
2025-02-18 05:23:23 -05:00
574f5ce93e Add style check to workflow (#2062)
* Add style check to workflow

* Add example files to style check
2025-02-17 12:14:53 -05:00
2996cecee0 Fix code inconsistently formatted and re-format (#2063)
* Fix code inconsistently formatted by clang-format

* Run clang-format
2025-02-17 12:14:02 -05:00
735e5930eb Detect additional CMake build failures (#2058)
Add include_httplib.cc to the main test executable (already done in
Makefile), and add include_windows_h.cc to the main test executable on
Windows to test if including windows.h conflicts with httplib.h.
2025-02-16 15:45:28 -05:00
4cb8ff9f90 Print timeout exceedance in MaxTimeoutTest (#2060) 2025-02-16 08:43:54 -05:00
d74e4a7c9c Removed incomplete API compatibility check scripts. 2025-02-14 14:10:06 -05:00
b6ab8435d7 Improve ABI check tool on macOS 2025-02-12 12:49:20 -05:00
39a64fb4e7 Fix ABI compatibility tool on macOS 2025-02-11 18:40:39 -05:00
d7c14b6f3a Add API compatibility check tool 2025-02-11 17:49:33 -05:00
a268d65c4f Fix check for URI length to prevent incorrect HTTP 414 errors (#2046) 2025-02-10 21:46:38 -05:00
8e22a7676a Remome 'global timeout' to 'max timeout' 2025-02-10 18:07:30 -05:00
8a7c536ad5 Fix #2034 (#2048)
* Fix #2034

* Fix build error

* Adjust threshold

* Add temporary debug prints

* Adjust threshhold

* Another threshold adjustment for macOS on GitHub Actions CI...

* Performance improvement by avoiding unnecessary chrono access

* More performance improvement to avoid unnecessary chrono access
2025-02-10 06:51:07 -05:00
eb10c22db1 Add unit test for #609 2025-02-08 10:17:09 -05:00
708f860e3a Fix #2042 2025-02-06 05:56:31 -05:00
4941d5b56b Fix #2033 (#2039) 2025-02-05 12:46:33 -05:00
282f2feb77 Add a unit test 2025-02-01 22:11:15 -05:00
ba6845925d Fix #2014 2025-01-16 23:10:58 -05:00
9c36aae4b7 Fix HTTP Response Splitting Vulnerability 2025-01-16 00:04:33 -05:00
b766025a83 clangformat 2025-01-16 00:03:10 -05:00
d647f484a4 fix:set_file_content with range request return 416. (#2010)
Co-authored-by: fenlog <bakurise@qq.com>
2024-12-24 09:38:59 -05:00
8794792baa Treat out-of-range last_pos as the end of the content (#2009)
RFC-9110 '14.1.2. Byte Ranges':
A client can limit the number of bytes requested without knowing the
size of the selected representation. If the last-pos value is absent,
or if the value is greater than or equal to the current length of the
representation data, the byte range is interpreted as the remainder of
the representation (i.e., the server replaces the value of last-pos
with a value that is one less than the current length of the selected
representation).

https://www.rfc-editor.org/rfc/rfc9110.html#section-14.1.2-6
2024-12-23 13:14:36 -05:00
e6d71bd702 Add a unit test for Issue #2004 2024-12-12 18:15:22 -05:00
5421e27106 Fix a compiler warning 2024-11-28 20:39:26 -05:00
da2f9e476e Fix #1985 (#1989) 2024-11-27 12:18:23 -05:00
1a7a7ed1c3 test: Don't check for the exact size of compressed content. (#1984)
The testsuite checks for the exact size of the compressed content. The
exact size can change if the zlib library is using a different strategy.
In thise case using zlib-ng results in a slightly larger content leading
to a failure in the test.

Check that the compressed content is less than 10MiB which is a tenth of
the orignal content and proves that compression works.

Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
2024-11-25 15:46:41 -05:00
413994912d Update vcxproj files 2024-11-16 11:14:13 -05:00
412ba04d19 Fix problem caused by #1975 2024-11-14 20:33:08 -05:00
bfef4b3e9b Fix #1975 2024-11-14 17:27:28 -05:00
26208363ee Fix warning 2024-11-14 16:46:09 -05:00
9dd565b6e3 Resolve #1973 (#1976)
* Fix #1973

* Fixed problems with 'Language for non-Unicode programs' setting on Windows

* Fix problems on English locale
2024-11-13 22:47:09 -05:00
924f214303 Added unit test for exception handler 2024-11-02 07:23:44 -04:00
d869054318 Allow empty header values (#1965) 2024-10-18 10:16:48 -04:00
e0ebc431dc Fix #1959 2024-10-11 13:43:01 -04:00
10d68cff50 Added a unit test for #1946 2024-09-26 22:24:44 -04:00
7c4799d0cf Fix #1798 for CMake (#1944) 2024-09-19 18:33:32 -04:00
c239087332 Fix Mafile errors 2024-09-17 18:37:44 -04:00
7018e9263d test(meson): copy files in www directory (#1941)
These files were added in commits
2d01e71286 and
b8315278cb
2024-09-17 18:06:01 -04:00
4990b4b4b7 Fix problems with SSLSlientServerTest.* tests 2024-09-17 17:00:17 -04:00
5064373c23 test(meson): fix SSLClientServerTest.* tests with OpenSSL 3.2.0 (#1940)
* build(meson): bump minimum version to 0.62.0

This allows making some minor cleanups

* test(meson): fix SSLClientServerTest.* tests with OpenSSL 3.2.0

Since OpenSSL commit
<342e3652c7>,
the default X.509 certificate format generated with the `openssl req`
command has been changed to X.509 v3 from X.509 v1.

For some reason, this change breaks cpp-httplib's SSLClientServerTest.*
tests.

To fix the test failures, this patch passes the '-x509v1' flag instead
of '-x509' when OpenSSL 3.2.0 or newer is detected. To detect the
version of a command line utility, Meson 0.62.0 or later is required.

Fixes <https://github.com/yhirose/cpp-httplib/issues/1798>, but only for
the Meson build system.
2024-09-17 16:58:09 -04:00
6c93aea59a Revert "Enabled HostnameToIPConversionTest.YouTube_Online partially"
This reverts commit 6553cdedab.
2024-09-15 01:18:20 -04:00
6553cdedab Enabled HostnameToIPConversionTest.YouTube_Online partially 2024-09-13 20:45:59 -04:00
3f00e1b321 Revert "Changed set_file_content to accept only a regular file path."
This reverts commit 7ab9c119ef.
2024-09-09 20:03:47 -04:00
7ab9c119ef Changed set_file_content to accept only a regular file path. 2024-09-09 19:59:18 -04:00
3f2922b3fa Fix #1929 2024-09-09 19:25:52 -04:00
509f583dca Fix problem caused by #1931. 2024-09-09 19:19:52 -04:00
2d01e71286 Test reading empty zero-length file (#1931) 2024-09-09 17:54:11 -04:00
f35aff84c2 Fixed FuzzableServer build error 2024-09-08 19:00:23 -04:00
8415bf0823 Resolve #1906 2024-09-07 00:05:41 -04:00
80fb03628b Only match path params that span full path segment (#1919)
* Only match path params that span full path segment

* Fix C++11 build
2024-09-06 08:48:51 -04:00