Commit Graph

  • 00afaaed6a Release v0.60.1 master v0.60.1 latest yhirose 2026-10-07 23:40:36 -04:00
  • e803f5e413 Let the SSL chain policy alone judge the Windows chain (#2618) yhirose 2026-10-07 23:19:36 -04:00
  • 57b8aca6da Avoid name clash with class WebSocketClient by explicit qualification (#2616) Michael Weitzel 2026-10-08 04:38:50 +02:00
  • 213029685a Serve the whole body for a suffix range longer than it (#2615) KBS 2026-10-08 11:20:53 +09:00
  • 17eeb18feb Release v0.60.0 v0.60.0 yhirose 2026-10-06 22:57:42 -04:00
  • edc9760005 use the SAN type tag in Mbed TLS verify_hostname and get_cert_sans (#2614) metsw24-max 2026-10-06 06:43:50 +05:30
  • 6d1049462d Ignore a subprotocol the WebSocket client did not offer yhirose 2026-10-04 18:34:21 -04:00
  • 4fcbc08f2d reject an unoffered subprotocol in read_websocket_upgrade_response (#2595) metsw24-max 2026-10-05 03:51:39 +05:30
  • d59f3e438c Remove semantically redundant closed_ checks in ping thread. (#2613) Jordan Woyak 2026-10-04 08:39:24 -05:00
  • 09fa6820fe Fix 303 redirect request bodies and Location path decoding (Fix #2606, #2607) yhirose 2026-10-03 19:06:45 -04:00
  • 438319cfcb Fix WebSocket pings being sent early on spurious wakeups yhirose 2026-10-03 17:47:30 -04:00
  • eda9a10bfe Fix SSE client not clearing Last-Event-ID on an empty id field (Fix #2611) yhirose 2026-10-03 17:29:33 -04:00
  • cf3693cb5c Release v0.59.0 v0.59.0 yhirose 2026-10-02 22:06:39 -04:00
  • 4fd9ae8f42 Serve pipelined requests without waiting for the keep-alive timeout yhirose 2026-10-02 21:44:40 -04:00
  • 3d40dfc727 Fix SSE parsing of CRLF field names and data-less events yhirose 2026-10-02 21:38:15 -04:00
  • dd71728110 escape quoted-string auth-params in make_digest_authentication_header (#2597) metsw24-max 2026-10-03 06:59:35 +05:30
  • 7255a7e979 Preserve empty SSE data fields (#2594) DosX 2026-10-03 04:17:47 +03:00
  • 8a3abfb597 Extract parse_int_in_range from parse_port yhirose 2026-10-02 21:15:14 -04:00
  • 10aadd57f7 Reject trailing characters in URL port numbers (#2593) KBS 2026-10-03 10:07:34 +09:00
  • 43863e1f67 Make CryptoAPI the only chain verifier when Windows verification is on (#2604) yhirose 2026-10-02 20:48:47 -04:00
  • 0db1df7cf2 Pass the server's intermediates to Windows certificate verification (#2602) yhirose 2026-10-02 20:48:10 -04:00
  • 639391ad7f Reject an invalid Content-Length and honor Connection: close yhirose 2026-10-02 00:22:24 -04:00
  • 0715c2739e Enforce a minimum SSE reconnect wait to avoid a busy loop (#2592) yhirose 2026-09-28 17:25:37 -04:00
  • 3330d0eb06 Ignore an SSE retry field that is not all digits (#2591) KBS 2026-09-29 04:31:20 +09:00
  • c1c2b1f4b4 Apply the request-target check to the client and encode control chars yhirose 2026-09-28 03:37:11 -04:00
  • e11dbec7b3 Reject control characters in the request-target yhirose 2026-09-27 23:35:09 -04:00
  • 174bce5ccf Escape request data in the docker server's access and error logs yhirose 2026-09-27 22:50:26 -04:00
  • 57c4f7f385 Reject trailing characters in HTTP quality values (#2590) DosX 2026-09-28 02:20:14 +03:00
  • 2fb2dbbe1e Send small static files with the headers and large bodies without a copy (#2589) yhirose 2026-09-26 22:19:15 -04:00
  • 8b6ab24159 Resolve relative Location references on redirect (#2586) VecSzn 2026-09-26 16:49:21 -07:00
  • 5a202d3d5f Added a feature test to auto enable/disable CPPHTTPLIB_USE_NON_BLOCKI… (#2578) Tobias Wallner 2026-09-25 21:20:00 +02:00
  • 4f3f9ef19b Release v0.58.0 v0.58.0 yhirose 2026-09-21 20:01:43 -04:00
  • 6d59d1e2df Build open_stream's request head in memory before sending yhirose 2026-09-21 19:15:39 -04:00
  • 9386b25dd7 Don't wait for a response to a request rejected before sending yhirose 2026-09-21 19:15:30 -04:00
  • 91c55a4385 Release v0.57.1 v0.57.1 yhirose 2026-09-21 12:47:22 -04:00
  • ad88645a83 Reject non-token methods in write_request_line yhirose 2026-09-21 12:25:12 -04:00
  • 82722fcb13 Release v0.57.0 v0.57.0 yhirose 2026-09-20 20:38:01 -04:00
  • 8b872605e0 reject control characters in chunk extensions in read_payload (#2585) metsw24-max 2026-09-21 05:52:52 +05:30
  • 52f214bf2e Don't wait for the peer's close_notify on OpenSSL shutdown yhirose 2026-09-19 17:27:30 -04:00
  • 09c02f1335 Send 100 Continue only when the request body is read yhirose 2026-09-19 15:55:10 -04:00
  • 2e5480ad65 Document that pre_request_handler runs for WebSocket routes yhirose 2026-09-19 15:11:34 -04:00
  • 4cb363e3f2 Run pre_request_handler for WebSocket routes yhirose 2026-09-19 14:39:55 -04:00
  • deb520e26b Update version files with sed -i.bak, which GNU sed accepts too yhirose 2026-09-19 13:56:31 -04:00
  • f37a5b1407 Fix #2583 yhirose 2026-09-14 17:31:07 -04:00
  • f15992c7ed Update documentation yhirose 2026-09-14 12:27:52 -04:00
  • 278c2979e8 Release v0.56.0 v0.56.0 yhirose 2026-09-11 17:35:54 -04:00
  • 6b8c3f5387 Report only a caller-set WebSocket read timeout as Timeout yhirose 2026-09-11 17:29:20 -04:00
  • e640f8376b Release v0.55.0 yhirose 2026-09-11 16:54:08 -04:00
  • 73a4092f8a Point the remaining httpbingo.org proxy tests at the self-hosted httpbin yhirose 2026-09-11 16:35:11 -04:00
  • 3517f92e2f ci: remove the temporary windows-without-SSL flaky failure reporter yhirose 2026-09-11 16:16:25 -04:00
  • 0480ff77b8 reject ambiguously framed responses in client read paths (#2581) metsw24-max 2026-09-12 01:25:28 +05:30
  • 8d25b6a3ac Reject a Range first-byte-pos that overflows ssize_t (#2580) KBS 2026-09-12 02:48:04 +09:00
  • 515b8f84af send each credential only to its own hop in write_request (#2579) metsw24-max 2026-09-11 22:55:48 +05:30
  • 88956ccad8 Self-host the httpbin auth-testing backend for BaseAuthTest/DigestAuthTest yhirose 2026-09-07 21:49:00 -04:00
  • f83d06538b Track Homebrew's clang-format version instead of a fixed pin yhirose 2026-09-07 17:52:59 -04:00
  • dc41dbd954 Pin style-check and pre-commit to clang-format 23.1.0 yhirose 2026-09-07 17:18:45 -04:00
  • 6303a99ce1 Run clang-format on httplib.h and test.cc yhirose 2026-09-07 16:29:08 -04:00
  • d5f8858731 Move ws::WebSocket's chrono set_read_timeout into the header half yhirose 2026-09-03 15:00:02 -04:00
  • 199d7ee248 Tell a WebSocket read timeout apart from a closed connection yhirose 2026-09-03 13:15:03 -04:00
  • 9e2e33da56 let EXTRA_CXXFLAGS override -fsanitize=address (#2577) Avionic Harshit 2026-09-03 19:52:00 +05:30
  • 7d53a31d23 Don't compress a response whose handler already set Content-Encoding (#2575) Jhen-Jie Hong 2026-09-01 08:44:12 +08:00
  • 9d6a7ee2c1 Release v0.54.1 v0.54.1 yhirose 2026-08-29 21:20:55 -04:00
  • 9ce15a14e5 Reject Digest challenges missing realm or nonce (RFC 7616 §3.3) yhirose 2026-08-28 23:36:40 -04:00
  • 9185fdb6ae Release v0.54.0 v0.54.0 yhirose 2026-08-28 19:16:24 -04:00
  • 644cda7032 Update .gitignore yhirose 2026-08-28 18:40:55 -04:00
  • 2adfc45838 Report a flaky failure only when the test step is what failed yhirose 2026-08-28 18:39:53 -04:00
  • c7db3da982 Document that the multipart part-count cap only applies to the buffered form path yhirose 2026-08-28 08:26:08 -04:00
  • 139f30e0f1 Compress static file responses behind an opt-in (Fix #2545) (#2572) yhirose 2026-08-27 17:19:43 -04:00
  • b4ec1bb1de Respect quoted-strings when splitting header parameters (Fix #2568) (#2573) yhirose 2026-08-27 17:18:29 -04:00
  • c58061ea81 Fail a content provider that makes no progress yhirose 2026-08-26 22:58:40 -04:00
  • f2b338ae2e Drop the empty Accept entry from the example's invalid list yhirose 2026-08-26 22:52:15 -04:00
  • efe709c45f Format example/accept_header.cc yhirose 2026-08-26 22:52:04 -04:00
  • 794a997d8c Fail make_file_body()'s provider when the file is short (#2566) Robert Miller 2026-08-27 12:44:04 +10:00
  • e96a52e9dd Ignore empty list elements in the Accept header (Fix #2567) yhirose 2026-08-26 22:37:22 -04:00
  • 2addb41089 Stop a throwing user callback from terminating the server (#2564) yhirose 2026-08-26 01:16:48 -04:00
  • ae417b405a Do not let a zero-length write end a chunked body (#2563) yhirose 2026-08-26 01:16:38 -04:00
  • bc7e51dbb9 Give DataSink's optional callbacks safe defaults (#2562) yhirose 2026-08-26 01:16:17 -04:00
  • f9c205632d Fix accept() error handling on Windows (#2561) yhirose 2026-08-26 01:16:01 -04:00
  • 84f75185fe Clear svr_sock_ before closing it on the accept loop's fatal path (#2560) yhirose 2026-08-26 01:15:47 -04:00
  • 19352ae929 Cap the received multipart boundary at RFC 2046's 70 characters (#2565) yhirose 2026-08-26 01:15:22 -04:00
  • 2afe933103 Send the Connection: close header the multipart test comment describes yhirose 2026-08-26 01:06:21 -04:00
  • bc58e6e9ac Bound the multipart parser's buffer while it waits for a boundary (#2557) yhirose 2026-08-25 22:55:52 -04:00
  • 254e576b50 Add Server::CustomRoute() for HTTP methods outside the built-in set (#2553) yhirose 2026-08-25 19:31:42 -04:00
  • af75a4160f CI: quote the OpenSSL installer's /DIR argument yhirose 2026-08-25 19:09:56 -04:00
  • f3e5a93a5b CI: install Windows OpenSSL from slproweb's manifest instead of Chocolatey yhirose 2026-08-25 19:04:26 -04:00
  • 00d1f54267 Fix WebSocket::close() racing a concurrent read() on the same stream yhirose 2026-08-24 17:30:04 -04:00
  • f82d2d90b6 Update README-websocket.md yhirose 2026-08-24 07:09:13 -04:00
  • 228af9033b Fix TLS session data race on wss:// WebSocket connections (#2551) yhirose 2026-08-24 07:04:43 -04:00
  • 6494edd8c0 Add static-file, large-body and TLS workloads to the A/B benchmark yhirose 2026-08-19 21:13:30 -04:00
  • 70b49d50bd Simplify get_bearer_token_auth and table-drive its test yhirose 2026-08-19 19:16:43 -04:00
  • 2a068def54 validate bearer scheme in get_bearer_token_auth (#2544) metsw24-max 2026-08-20 04:34:46 +05:30
  • abf525d78c Parse WWW-Authenticate/Proxy-Authenticate as an RFC 9110 challenge list yhirose 2026-08-19 06:54:21 -04:00
  • 0151b3e23e Match the Upgrade websocket token rather than the whole field value yhirose 2026-08-18 22:29:26 -04:00
  • 8b19c288e8 Tidy up the new list-field tests yhirose 2026-08-18 22:21:51 -04:00
  • f442226581 Match the Expect 100-continue expectation as a token yhirose 2026-08-18 22:01:40 -04:00
  • 3e3e4863b0 Read Content-Encoding as the combined field value yhirose 2026-08-18 22:01:14 -04:00
  • e8887d98e9 Match Brotli and Zstandard content codings as whole tokens yhirose 2026-08-18 21:05:22 -04:00
  • 881842cd72 Match Connection options as tokens rather than whole field values yhirose 2026-08-18 20:58:34 -04:00
  • 2731b728f5 Move has_header_token() next to the other header field helpers yhirose 2026-08-18 20:12:45 -04:00
  • 161f787fee Combine repeated field lines before parsing list-valued headers yhirose 2026-08-18 19:46:31 -04:00