1
0
mirror of synced 2025-12-18 16:34:09 +03:00
Commit Graph

598 Commits

Author SHA1 Message Date
yhirose
1fc6fbcfc6 Add tests for extreme date values and negative file modification time in ETag handling 2025-12-05 16:42:20 -05:00
yhirose
33e0bbfb35 Refactor ETag comparison logic and add test for If-None-Match with non-existent file 2025-12-05 15:54:32 -05:00
yhirose
ef2b0a8d0b Enhance ETag handling and validation in httplib.h and add comprehensive tests in test.cc 2025-12-05 15:23:58 -05:00
yhirose
7bbff160f0 Update test/test.cc
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-05 15:09:52 -05:00
yhirose
82e892db2d Resolved code review comments 2025-12-05 00:33:10 -05:00
yhirose
dc77463896 Refactor ETag handling: separate strong and weak ETag checks for If-Range requests 2025-12-05 00:09:19 -05:00
yhirose
f0f356797f Update test/test.cc
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-05 00:01:52 -05:00
yhirose
8d6123c126 Add ETag and Last-Modified handling for If-Range requests 2025-12-04 23:15:29 -05:00
yhirose
ce37f8b89a Fix #2242: Implement ETag and Last-Modified support for static file responses 2025-12-04 22:52:34 -05:00
yhirose
dbd5ca4bf2 Add error handling for stream read timeouts and connection closures 2025-12-04 19:19:18 -05:00
yhirose
8bba34eebc Add New Streaming API support (#2281) 2025-12-01 21:40:13 -05:00
bigmoonbit
c1fa5e1710 chore: fix some typos in comments (#2282)
Signed-off-by: bigmoonbit <bigmoonbit@outlook.com>
2025-11-27 20:34:18 -05:00
yhirose
84796738fc Fix #2248 2025-11-25 22:22:07 -05:00
yhirose
337fbb0793 Fix #2279
Enhance request handling: add support for requests without Content-Length or Transfer-Encoding headers
2025-11-25 20:30:43 -05:00
Clarkok Zhang
59882752aa Add Client::Post with both content provider and receiver (#2268)
Co-authored-by: Clarkok Zhang <clarkok8@gmail.com>
2025-11-14 14:52:06 -05:00
chansikpark
4b2b851dbb Fix HTTP 414 errors hanging until timeout (#2260)
* Fix HTTP 414 errors hanging until timeout

* All errors (status code 400+) close the connection

* 🧹

---------

Co-authored-by: Wor Ker <worker@factory>
2025-11-02 22:23:42 -05:00
yhirose
551f96d4a2 Remove REMOTE_PORT dependency from UnixSocketTest.PeerPid 2025-10-27 20:40:12 -04:00
yhirose
ac9ebb0ee3 Merge commit from fork
* Fix "Untrusted HTTP Header Handling (REMOTE*/LOCAL*)"

* Fix "Untrusted HTTP Header Handling (X-Forwarded-For)"

* Fix security problems in docker/main.cc
2025-10-27 19:54:12 -04:00
yhirose
f3bba0646a Fix benchmark test issue on Windows (#2258) 2025-10-27 18:27:55 -04:00
yhirose
2da189f88c Fix EventDispatcher problem (#2257) 2025-10-27 18:10:52 -04:00
yhirose
2d8d524178 Fix #2251 2025-10-25 22:06:42 -04:00
yhirose
afa88dbe70 Fix #2250 2025-10-25 21:36:53 -04:00
yhirose
8aedbf4547 Add a unit test 2025-10-25 19:31:48 -04:00
yhirose
bae40fcdf2 Resolve #2237 2025-10-25 16:48:45 -04:00
Andrea Pappacoda
35c52c1ab9 build(meson): use C++17 for gtest >= 1.17.0 (#2241) 2025-09-20 15:06:49 -04:00
Jonas van den Berg
6e52d0a057 Fix UB by use of dangling references in getaddrinfo_with_timeout (#2232)
* Fix use of dangling references

When the resolve thread is detached, local variables were still used, which could lead to a program crash.

* Add test to verify dangling ref fix

* Add missing brace initialization

* Assert that the remaining fields are really zeroed

* Fix use of chrono literals
2025-09-14 20:05:09 -04:00
yhirose
eb5a65e0df Fix #2217 2025-08-29 15:01:59 -04:00
yhirose
4285d33992 Fix #2223 (#2224)
* Fix #2223

* Fix build error
2025-08-26 21:42:13 -04:00
yhirose
92b4f53012 clang-format 2025-08-26 20:29:43 -04:00
tejas
b8e21eac89 Initialize start time for server (#2220)
* Initialize start time for server

By initializing start_time_ for server, I hope to measure the time taken to process a request at the end maybe in the set_logger callback and print it.

I only see current usage in client with server retaining the inital min value

* Add test to verify start time is initialized

* Address review comments

* run clang format
2025-08-26 15:34:13 -04:00
yhirose
c0c36f021d Fix #2184, #2185 (#2190)
* Fix #2184, #2185

* Fix build error

* Update

* Update
2025-07-29 19:29:37 -04:00
yhirose
7b6867bcdf Fix #2021 (#2180) 2025-07-10 22:01:41 -04:00
yhirose
17ba303889 Merge commit from fork
* Fix HTTP Header Smuggling due to insecure trailers merge

* Improve performance
2025-07-09 07:10:09 -04:00
yhirose
082acacd45 Merge commit from fork
* Fix Persistency of Unbounded Memory Allocation in Chunked/No-Length Requests Vulnerability

* Revert HTTP status code from 413 to 400
2025-07-08 17:11:13 -04:00
yhirose
145fc8b021 Proxy test (#2172)
* Add proxy test on CI

* Add Brotli and Zstd dev packages to proxy test workflow

* Fix Docker Compose command for GitHub Actions compatibility

* Add proxy readiness check and netcat dependency

* Use netcat-openbsd instead of virtual netcat package

* Add proxy startup delay and debug logging
2025-07-06 22:00:41 -04:00
yhirose
af73377611 Fix #1578 (#2171)
* Fix #1578

* Update README

* Update

* Update

* Update

* Update

* Update

* Update
2025-07-06 21:27:24 -04:00
yhirose
a3f5569196 Fix #2082 (#2170) 2025-07-05 20:30:31 -04:00
yhirose
a636a094bf Fix #1656 2025-07-05 20:22:57 -04:00
yhirose
cb85e573de Fix #1416 (#2169)
* Fix #1416

* Update

* Update
2025-07-05 15:17:53 -04:00
yhirose
120405beac clang-format 2025-07-05 07:13:13 -04:00
yhirose
9a0571513e Fix Makefile 2025-07-04 22:30:33 -04:00
yhirose
cfb56c0b78 Fix #1818 2025-07-04 21:09:05 -04:00
yhirose
083fe43ad3 Remove httpwatch.com dependency 2025-07-04 20:32:48 -04:00
yhirose
d5409ab541 Fix warnings 2025-07-03 19:58:28 -04:00
yhirose
292f9a6c55 Add CPPHTTPLIB_USE_NON_BLOCKING_GETADDRINFO 2025-06-30 21:14:58 -04:00
yhirose
7c303bb871 Launch proxy server before proxy test 2025-06-29 00:17:19 -04:00
yhirose
ea850cbfa7 Fix #1601 (#2167)
* Fix #1601

* clang-format

* Fix Windows problem

* Use GetAddrInfoEx on Windows

* Fix Windows problem

* Add getaddrinfo_a

* clang-format

* Adjust Benchmark Test

* Test

* Fix Bench test

* Fix build error

* Fix build error

* Fix Makefile

* Fix build error

* Fix buid error
2025-06-29 00:13:09 -04:00
yhirose
e6ff3d7ac2 Cleaner API (#2166)
* Cleaner API

* Fix Windows build error
2025-06-28 00:37:01 -04:00
yhirose
e1ab5a604b Proxy problems (#2165)
* Fix proxy problems

* Auto redirect problem (http → https → https)
2025-06-28 00:14:01 -04:00
yhirose
d37373a983 Performance investigation 2025-06-25 16:46:49 -04:00