1
0
mirror of synced 2025-07-14 19:20:57 +03:00
Commit Graph

442 Commits

Author SHA1 Message Date
33acccb346 Fix #2109 2025-03-16 20:36:15 -04:00
c765584e6b Add zstd support (#2088)
* Add zstd support

* Add zstd to CI tests

* Use use zstd cmake target instead of ZSTD. Use cmake variable for found packages

* Add missing comment for HTTPLIB_REQUIRE_ZSTD

* Fix test.yaml rebase error

* Use zstd::libzstd target

* Add include and library paths to ZSTD args

* Run clang-format

* Add zstd to httplibConfig.cmake.in
2025-03-16 15:51:53 -04:00
48084d55f2 Fix #2096 2025-03-10 23:31:51 -04:00
85b5cdd78d Move detail::read_file() to test/test.cc (#2092)
The unit test code is the only user of the function.

read_file() now throws an exception if the file isn't found.
2025-03-06 11:58:55 -05:00
f2928d7152 Switch redirect tests to httpbingo.org (#2090)
Redirect tests fail using httpbin.org or nghttp2.org/httpbin. The
location header value contains a string representation of a Python byte
string (e.g., b'http://www.google.com/'), which results in a 404 error.
2025-03-06 11:55:11 -05:00
ee0bee3907 Fix HttpWatch tests (#2089)
HttpWatch changed the formatting of the returned JSON. Normalize it by
removing all whitespace.
2025-03-06 07:17:05 -05:00
71ba7e7b1b Fix #2068 (#2080)
* Fix #2068

* Add unit test
2025-02-20 23:45:21 -05:00
550f728165 Refactor streams: rename is_* to wait_* for clarity (#2069)
- Replace is_readable() with wait_readable() and is_writable() with
  wait_writable() in the Stream interface.
- Implement a new is_readable() function with semantics that more
  closely reflect its name. It returns immediately whether data is
  available for reading, without waiting.
- Update call sites of is_writable(), removing redundant checks.
2025-02-20 12:56:39 -05:00
a4b2c61a65 Max timeout test refactoring (#2071)
* Simplify code

* Adjust threshold
2025-02-19 22:19:02 -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
4cb8ff9f90 Print timeout exceedance in MaxTimeoutTest (#2060) 2025-02-16 08:43:54 -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
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
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
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
485f8f2411 Added one more case to MountTest.Redicect unit test. 2024-09-05 17:49:12 -04:00
12c829f6d3 Fix #1389 and #1907 2024-09-05 17:44:32 -04:00
913314f1b1 Fix warning 2024-09-05 17:43:51 -04:00
bd1da4346a Disable Expect100ContinueTest test on Windows 2024-09-04 09:51:36 -04:00
4c2a608a0c Fix GitHub Actions errors 2024-09-04 09:06:27 -04:00
ee4eb8deaa Merge branch 'fix-100-continue' of github.com:solarispika/cpp-httplib into solarispika-fix-100-continue 2024-09-04 08:45:48 -04:00