* [CMake] New component MbedTLS
New component MbedTLS.
* Fix case
Fix case: HTTPLIB_REQUIRE_OPENSSL=OFF; HTTPLIB_REQUIRE_MBEDTLS=ON
* [CMake] Test target MbedTLS::tfpsacrypto
[CMake] Test target MbedTLS::tfpsacrypto.
* [CMake] Test MbedTLS::mbedx509
[CMake] Test MbedTLS::mbedx509.
* Revert "[CMake] Test MbedTLS::mbedx509"
This reverts commit 1d0b91f59a.
* Revert "[CMake] Test target MbedTLS::tfpsacrypto"
This reverts commit bf099f6264.
* Fix problem caused by the recent performance improvement
* wolfSSL support
wolfSSL support.
Partly solve https://github.com/yhirose/cpp-httplib/issues/2371. Only
meson is missing.
* Solve https://github.com/yhirose/cpp-httplib/issues/2361
Solve https://github.com/yhirose/cpp-httplib/issues/2361.
Apply `WARNING`.
* Fix variable
Fix variable.
* [CMake] Solve incompatibilities with loop
Solve incompatibilities with loop.
* Fix
Fix.
* Remove debug prints
Remove debug prints.
* [CMake] Fix bug
Prevent a bug aus the required and if available libraries are checked
independently from each other. A could be chosen in required but B could
be chosen in if available and everything would pass.
* Remove debug print
Remove debug print.
* Restore change
Restore change.
---------
Co-authored-by: yhirose <yuji.hirose.bug@gmail.com>
* Add initial documentations
* Update documentation for Basic Client and add WebSocket section
* feat: add a static site generator with multi-language support
- Introduced a new Rust-based static site generator in the `docs-gen` directory.
- Implemented core functionality for building sites from markdown files, including:
- Configuration loading from `config.toml`.
- Markdown rendering with frontmatter support.
- Navigation generation based on page structure.
- Static file copying and output directory management.
- Added templates for base layout, pages, and portal.
- Created a CSS file for styling and a JavaScript file for interactive features like language selection and theme toggling.
- Updated documentation source with new configuration and example pages in English and Japanese.
- Added a `justfile` target for building the documentation site.
* Add language/theme toggle functionality
- Created a new Japanese tour index page at docs/ja/tour/index.html
- Implemented navigation links for various sections of the cpp-httplib tutorial
- Added a language selector to switch between English and Japanese
- Introduced theme toggle functionality to switch between light and dark modes
- Added mobile sidebar toggle for better navigation on smaller screens
* WebSocket support
* Validate selected subprotocol in WebSocket handshake
* Fix problem with a Unit test
* Dynamic Thread Pool support
* Fix race condition in new Dynamic ThreadPool
* Remove macOS select() fallback
macOS has supported `poll` for a long time now, so there's no need for
the specific `select` code paths.
With this commit, we can successfully build on visionOS.
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
* Fix coding style
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
---------
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
* Fix compilation on BoringSSL by replacing ASN1_TIME_to_tm
BoringSSL doesn't expose `ASN1_TIME_to_tm`.
This patch switches to using `ASN1_TIME_diff` to calculate `time_t`.
This is supported by OpenSSL, LibreSSL, and BoringSSL, and also avoids
the platform-specific `timegm` vs `_mkgmtime` logic.
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
* Format code
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
* Use detail::scope_exit
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
---------
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
* Correct sign comparison error with sk_X509_OBJECT_num
In some build configurations, sk_X509_OBJECT_num (from BoringSSL) returns a size_t. Comparing this directly against a signed int loop counter triggers -Werror,-Wsign-compare.
Instead, move the count into a local int variable so the compiler uses implicit conversion to ensure type consistency during the loop comparison.
* Update httplib.h
* Update httplib.h
Missed a s/int/decltype(count)