Commit Graph

  • f00e476f1b Release v0.53.0 master v0.53.0 latest yhirose 2026-08-09 19:54:29 -04:00
  • 8e702d3837 Gracefully drain socket before close in Server::process_and_close_socket (#2534) yhirose 2026-08-09 19:43:19 -04:00
  • f978bb5ca1 Rename close_socket_gracefully to drain_and_close_socket fix-graceful-socket-close-2533 yhirose 2026-08-09 19:19:42 -04:00
  • 9e855772db Gracefully drain socket before close in Server::process_and_close_socket yhirose 2026-08-09 18:50:12 -04:00
  • 19333f80d4 Fix Mbed TLS/wolfSSL hostname verification bugs in set_sni() yhirose 2026-08-07 21:31:21 -04:00
  • 86d0210391 Add WebSocketClient::enable_server_hostname_verification yhirose 2026-08-07 18:48:59 -04:00
  • 6018c7feb3 Return ws::Result from WebSocketClient::connect() instead of bool yhirose 2026-08-07 18:02:29 -04:00
  • 8d5085df1b Update README yhirose 2026-08-07 17:26:13 -04:00
  • 8f0ff32056 Add WebSocket TLS and timeout recipes to the Cookbook yhirose 2026-08-07 17:17:07 -04:00
  • 2dd44d0f52 Document WebSocketClient/SSLClient TLS parity gaps in the READMEs yhirose 2026-08-07 17:16:54 -04:00
  • 86abc9a0ea Give WebSocketClient the PemMemory client certificate constructor SSLClient has yhirose 2026-08-07 16:27:35 -04:00
  • bd02a50cbb ci: auto-comment on issue #2533 when windows-without-SSL job fails yhirose 2026-08-07 16:07:40 -04:00
  • 1c2607cbb8 Merge the SSLClient and WebSocketClient TLS session setup yhirose 2026-08-07 13:21:37 -04:00
  • 98be5fd3a6 Share the default Host and User-Agent header logic between the clients yhirose 2026-08-07 12:17:58 -04:00
  • d2ef193b9c Let WebSocketClient take a CA directory the way ClientImpl does yhirose 2026-08-07 07:01:33 -04:00
  • a1aa2ad9cd Give WebSocketClient the chrono::duration timeout setters ClientImpl has yhirose 2026-08-06 23:21:10 -04:00
  • b2b1d56d6d fix: server example typos (#2532) shaozk 2026-08-07 07:34:24 +08:00
  • 2b8658fa99 match mount points on a segment boundary in handle_file_request (#2529) metsw24-max 2026-08-04 03:21:50 +05:30
  • 095a5c1caf Release v0.52.0 v0.52.0 yhirose 2026-08-02 19:40:23 -04:00
  • 6e8a7dcd3f Bind the ordering tests to an ephemeral port (#2528) yhirose 2026-08-02 19:33:07 -04:00
  • 148d61a6a3 Give the raw listener in wait_writable_INET the socket options its neighbours have (#2527) yhirose 2026-08-02 19:32:03 -04:00
  • c48ed1ed9a Share the query pair splitting between its two callers (#2526) yhirose 2026-08-02 19:31:46 -04:00
  • 8d428361fb Count entries with count() rather than equal_range plus distance (#2525) yhirose 2026-08-02 19:31:22 -04:00
  • 23f67f25c2 Preserve the order of multipart form parts (#2524) yhirose 2026-08-02 18:37:20 -04:00
  • 7963c382d6 Preserve the order of query parameters (#2523) yhirose 2026-08-02 12:40:00 -04:00
  • 486c81b275 Determine the final transfer coding across Transfer-Encoding lines (#2522) yhirose 2026-08-02 01:05:26 -04:00
  • be28cf9435 Run CIFuzz only for pull requests that touch the fuzzed code (#2521) yhirose 2026-08-02 00:33:11 -04:00
  • d860c842ea Preserve the order of header fields with the same name (#2520) yhirose 2026-08-02 00:22:41 -04:00
  • 8e08c22783 Cut a syscall and the byte-at-a-time line reader out of the request path (#2513) yhirose 2026-08-01 22:46:10 -04:00
  • f51df1473b Merge branch 'metsw24-max-mmap-map-failed-guard' yhirose 2026-08-01 22:21:46 -04:00
  • 15a23abd7e Clarify the MAP_FAILED guard comment and assert the cleared size yhirose 2026-08-01 22:21:26 -04:00
  • 2e37c51921 Merge branch 'mmap-map-failed-guard' of github.com:metsw24-max/cpp-httplib into metsw24-max-mmap-map-failed-guard yhirose 2026-08-01 22:16:28 -04:00
  • 571717adb8 Merge branch 'metsw24-max-range-206-only' yhirose 2026-08-01 21:54:25 -04:00
  • 5539a66c63 Cover the non-206 Range paths and drop the duplicated test route yhirose 2026-08-01 21:47:35 -04:00
  • 6b723fbf9d Merge branch 'range-206-only' of github.com:metsw24-max/cpp-httplib into metsw24-max-range-206-only yhirose 2026-08-01 21:38:55 -04:00
  • 1562f0ec4f Pass unrecognized Content-Encoding values through instead of failing (#2518) yhirose 2026-08-01 21:25:22 -04:00
  • a691e531c3 Close the listening socket in stop() even when not serving (#2517) yhirose 2026-08-01 19:57:37 -04:00
  • ae8356d86e Clean up addr_map hostname support yhirose 2026-08-01 14:36:28 -04:00
  • 49b921b52d Allow addr_map_ values to be hostnames, not just IP literals (#2515) Kim, Hyuk 2026-08-02 03:29:20 +09:00
  • 447b9c4a29 Buffer the WebSocket handshake before writing it to the socket yhirose 2026-08-01 08:35:50 -04:00
  • f406808497 Merge pull request #2514 from Hyukya/master yhirose 2026-08-01 08:20:23 -04:00
  • 2c28d2fa3e websocket: rebuild handshake on Request/header pipeline hyuk.kim 2026-08-01 17:15:58 +09:00
  • f24e79aab9 Fix benchmark-run reporting success without measuring anything yhirose 2026-07-30 20:59:12 -04:00
  • 60f285a301 Add a workflow to run the committed benchmark on CI yhirose 2026-07-30 20:52:50 -04:00
  • 29ceccecd6 Add A/B throughput benchmark for comparing two refs yhirose 2026-07-30 19:56:03 -04:00
  • 85ec3963bc Increase default listen backlog from 5 to 128 yhirose 2026-07-30 17:18:43 -04:00
  • f4fce42e77 fail mmap::open when ::mmap returns MAP_FAILED Sayed Kaif 2026-07-30 00:46:08 +05:30
  • 23fef15e07 apply Range only to a 206 response in write_content_with_provider Sayed Kaif 2026-07-28 13:19:35 +05:30
  • 34b7c846d4 Merge pull request #2496 from superm1/superm1/SWSPLAT-23622 yhirose 2026-07-27 17:11:45 -04:00
  • 76b54e7de4 Sanitize uploaded filenames in upload example to prevent path traversal Mario Limonciello 2026-07-15 10:57:22 -05:00
  • 5b9d1495ff Apply path encoding to open_stream() yhirose 2026-07-25 13:05:48 -04:00
  • d66d9a9599 Release v0.51.0 v0.51.0 yhirose 2026-07-23 22:52:55 -04:00
  • 2fa0417754 Fix mbedTLS is_peer_closed() destroying the first response byte yhirose 2026-07-23 22:41:43 -04:00
  • 82b1492c3d Merge pull request #2507 from yhirose/flaky-ci-diagnostics yhirose 2026-07-23 20:04:02 -04:00
  • f7c8455a62 Log res.error() on all ServerTest ASSERT_TRUE(res) assertions yhirose 2026-07-23 18:06:22 -04:00
  • cc1be5ebb5 Merge pull request #2506 from yhirose/refactor/consolidate-field-validation yhirose 2026-07-23 17:50:59 -04:00
  • cda2bb5342 Consolidate header field-pair validation into fields::is_field_valid yhirose 2026-07-23 17:34:57 -04:00
  • 613a41b49d Merge pull request #2505 from metsw24-max/write-headers-crlf-guard yhirose 2026-07-23 17:32:22 -04:00
  • 695961f8ae skip invalid fields in write_headers to prevent response splitting Sayed Kaif 2026-07-23 21:42:37 +05:30
  • c64bf21a5e Merge pull request #2504 from emreay-/skip-drain-on-closing-connection yhirose 2026-07-22 12:01:20 -04:00
  • 8bbfc90380 Apply clang-format to test.cc and httplib.h Emre Ay 2026-07-22 10:53:34 +03:00
  • bf8baf0739 clang-format yhirose 2026-07-21 19:47:15 -04:00
  • fd0c18b1b5 Validate connecting peer before honoring X-Forwarded-For yhirose 2026-07-21 18:33:59 -04:00
  • bbd56a7e2c Merge pull request #2497 from superm1/superm1/SWSPLAT-23636 yhirose 2026-07-21 19:15:50 -04:00
  • 54b3c1d072 Add Mbed TLS 4.x support (PSA Crypto) (#2502) yhirose 2026-07-21 18:45:48 -04:00
  • 6c4cbd49a2 scan X-Forwarded-For right-to-left in get_client_ip (#2503) metsw24-max 2026-07-22 03:42:40 +05:30
  • f3e9a4d887 Skip request body drain when connection will close Emre Ay 2026-07-20 20:36:06 +03:00
  • 877a52f6b3 Limit the number of header lines per multipart form-data part Mario Limonciello 2026-07-15 10:57:57 -05:00
  • ef2beaea34 Fix MSVC C4146 warning for unsigned types in from_chars yhirose 2026-07-18 20:08:33 -04:00
  • 3adc525cec Use detail::from_chars for out-of-range Content-Length check yhirose 2026-07-18 18:09:55 -04:00
  • a415362dff update OpenStreamMalformedContentLength.OutOfRange for stricter parsing Sayed Kaif 2026-07-13 12:08:34 +05:30
  • 982235c0a9 flag out-of-range Content-Length in get_header_value_u64 Sayed Kaif 2026-07-12 17:10:51 +05:30
  • 255c075b82 Reject CR/LF in the request target and fail the request cleanly (#2501) yhirose 2026-07-18 18:07:44 -04:00
  • 75938f08c7 Match chunked as the final transfer coding, order-independently (#2500) yhirose 2026-07-18 18:07:29 -04:00
  • 0c1cc8c986 Strip Cookie headers on cross-origin redirect yhirose 2026-07-12 10:45:36 -04:00
  • 62d899feac Release v0.50.1 v0.50.1 yhirose 2026-07-11 21:37:36 -04:00
  • 2f986fd5e5 Fix use-after-free of TLS session in WebSocketClient::shutdown_and_close() yhirose 2026-07-11 21:20:36 -04:00
  • ed97a6edba Release v0.50.0 v0.50.0 yhirose 2026-07-11 16:01:02 -04:00
  • 06b8b91589 Fix Response::content_length_ not reflecting body size in Logger (Fix #2488) yhirose 2026-07-11 15:52:54 -04:00
  • 873d701972 Fix use-after-free in SSLClient destructor with mbedTLS (Fix #2492) yhirose 2026-07-11 15:27:42 -04:00
  • b40937cea8 Fix README WebSocket example to match actual API (Fix #2493) yhirose 2026-07-11 14:12:25 -04:00
  • 568d434e72 Fix CRLF injection in chunked response trailers yhirose 2026-07-11 13:54:02 -04:00
  • 0fa4912891 Fix broken relative links in cookbook docs (Fix #2490) yhirose 2026-07-08 22:45:29 -04:00
  • 32abac3de5 Fix ambiguous Get() examples in README after new Params overload (#2486) Copilot 2026-07-05 18:43:11 -04:00
  • 2132205e1a Release v0.49.0 v0.49.0 yhirose 2026-07-01 23:56:17 -04:00
  • a4d7066c2c Log res.error() in GetWithRange test assertions to diagnose flaky CI failures yhirose 2026-07-01 23:46:05 -04:00
  • bd455f8b91 Add locale-independent ASCII classification helpers (Fix #2482, Fix #2483) yhirose 2026-07-01 23:00:48 -04:00
  • 9a5321aadb meson: fix build failure on glibc >= 2.34 without standalone libanl (#2484) Yanjun Yang(Pluto) 2026-07-02 10:21:44 +08:00
  • 32ff75e355 Make ThreadPool idle timeout configurable at runtime (Fix #2481) yhirose 2026-07-01 22:08:01 -04:00
  • 45da614ddd Omit default port from WebSocket handshake Host header (Fix #2480) yhirose 2026-07-01 21:38:11 -04:00
  • f5c8c982df Escape CR and LF in multipart part content types yhirose 2026-07-01 21:22:15 -04:00
  • 9e8b960e44 Add public MultipartFormDataWriter for multipart body serialization yhirose 2026-07-01 21:15:39 -04:00
  • 8149bb38fc Escape quote, CR and LF in multipart field names and filenames yhirose 2026-07-01 21:15:15 -04:00
  • 3fe32b63b4 Send query string verbatim when path encoding is disabled (#2479) Saber Haj Rabiee 2026-07-01 18:18:05 -07:00
  • 0ae93881b4 Clarify comment on base64_encode accumulator signedness yhirose 2026-07-01 20:12:44 -04:00
  • a7b886b9cb Use an unsigned accumulator in base64_encode (#2477) metsw24-max 2026-07-02 05:42:00 +05:30
  • 9d159bb412 Release v0.48.0 v0.48.0 yhirose 2026-06-18 20:13:57 -04:00
  • 9ac64e90db Generate IP-host test certificates in CMake build yhirose 2026-06-18 19:50:46 -04:00
  • ba390f2399 Restrict IP-host hostname verification to iPAddress SANs on Mbed TLS and wolfSSL yhirose 2026-06-18 12:37:16 -04:00
  • 7307c41aa8 Better from_chars implementation (Fix #2475) yhirose 2026-06-17 23:21:36 -04:00