1761 Commits

Author SHA1 Message Date
Gulliver
0acad130ef updated external libs catch2 3.10->3.12, cmake-sbom 1.3.0 -> 1.4.0 2026-01-12 10:33:52 +01:00
gittiver
8236cc320d Merge pull request #1132 from CrowCpp/1127-small-oob-read-in-qs_scanvalue-when-the-key-is-not-found
fix for issue #1127 Small oob read in `qs_scanvalue` when the key is not found - increment qs only if '&' was found
2025-12-31 10:16:09 +01:00
Gulliver
2e0f2038dd increment qs only if '&' was found
additional function cleanup
2025-12-30 14:25:19 +01:00
gittiver
7e41d9f52a Merge pull request #1131 from CrowCpp/1125-get_header_value-performs-double-lookup-on-unordered_multimap
removed double lookup on get_header_value() by map.count() and map.find()
2025-12-30 12:23:51 +01:00
Gulliver
5b8c0a1f1b removed double lookup by count() and find(),
made empty string const, changed from template to ci_map parameter
2025-12-29 20:18:06 +01:00
dependabot[bot]
2709cb04cf Bump dawidd6/action-download-artifact from 11 to 12
Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact) from 11 to 12.
- [Release notes](https://github.com/dawidd6/action-download-artifact/releases)
- [Commits](https://github.com/dawidd6/action-download-artifact/compare/v11...v12)

---
updated-dependencies:
- dependency-name: dawidd6/action-download-artifact
  dependency-version: '12'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-27 21:54:46 +01:00
dependabot[bot]
80ba18cdc4 Bump actions/upload-artifact from 5 to 6
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 5 to 6.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-15 18:10:35 +01:00
Mohamed Ikbel Boulabiar
b3ed7b1742 added protection against empty get_found_bp result. 2025-12-09 22:30:04 +01:00
Mohamed Ikbel Boulabiar
1aa3fbb4a6 Replace uint16_t with size_t for rule/blueprint indices across routing (routing_handle_result and Trie/Router) to eliminate narrowing warnings 2025-12-07 17:01:04 +01:00
Илья Ракитин
d5ca7f8268 CROW_GENERATE_SBOM also need CPM. Fix CMakeLists.txt 2025-12-07 14:28:18 +01:00
Илья Ракитин
48c4ef1116 move CPM to CROW_BUILD_TESTS scope 2025-12-07 14:28:18 +01:00
Gulliver
56bbc7d59b returned error code on write and handled in all places where do_write_sync is used. 2025-12-06 15:41:36 +01:00
dependabot[bot]
43a7b20d7e Bump actions/checkout from 5 to 6
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-22 11:46:57 +01:00
Gulliver
833f0cec9c readded condition for sending_buffers (seems get lost on last refactoring) 2025-11-17 12:09:07 +01:00
dependabot[bot]
ae2172b824 Bump actions/upload-artifact from 4 to 5
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 5.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-27 16:56:51 +01:00
Gulliver
2022aadccc replaced old trim function based on std::string by one using string_view 2025-10-25 11:04:07 +02:00
Gulliver
b367bc7195 replace deprecated macos-13 runner by macos-14 2025-10-19 12:45:59 +02:00
gittiver
19041b83ce Merge pull request #1024 from Sightem/refactor/cookie-parser-string-view
Use string_view in CookieParser::before_handle parsing
2025-10-15 12:23:53 +02:00
gittiver
6fc6a54626 Merge pull request #1103 from na-trium-144/fix-connection-use-after-free
Fix potential use-after-free of Connection from Asio thread
2025-10-12 19:27:52 +02:00
na-trium-144
2ca3917f97 remove redundant this capture 2025-10-13 01:09:28 +09:00
gittiver
221b6bef18 Merge pull request #1061 from CrowCpp/1042-bug-in-serialization-of-small-double
added test for issue #1042
2025-10-12 13:16:02 +02:00
Gulliver
4095ab29b3 C++ 17 related fix, using DBL_DECIMAL_DIG instead of DECIMAL_DIG 2025-10-12 12:29:00 +02:00
na-trium-144
efb9d8c2c6 Fix potential use-after-free of Connection from Asio thread 2025-10-11 23:16:32 +09:00
Gulliver
57b42536ee added test for issue #1042 2025-10-10 03:04:08 +02:00
autoantwort
6ba7d7f167 websockets: Allow sending a response when rejecting a websocket request (Closes #1097) 2025-10-10 02:31:52 +02:00
Gulliver
2a5a051ad7 introduced catch_all into routing result 2025-10-10 02:27:32 +02:00
Gulliver
17f6fd922c added testcase for catch_all handler called and check request content in it. 2025-10-10 02:24:42 +02:00
dependabot[bot]
2d06fe7aa6 Bump github/codeql-action from 3 to 4
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3 to 4.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-10 00:46:28 +02:00
autoantwort
01491bc8b9 gitignore: Add macOS files and more files from QtCreator 2025-10-10 00:45:42 +02:00
Gulliver
6a2e26be08 add nsis install step 2025-10-10 00:45:12 +02:00
autoantwort
a548d14cc1 url_display: correctly display v6 addresses (#1096)
* url_display: correctly display v6 addresses

---------

Co-authored-by: Leander Schulten <Leander.Schulten@tetys.de>
Co-authored-by: gittiver <gulliver@traumkristalle.net>
2025-09-22 22:25:49 +02:00
Gulliver
110b6e3e66 unused capture removed 2025-09-21 20:50:44 +02:00
Nicholas Hanson
3bd736450f Refactor/isolate mustache tests (#1093)
- Moved Mustache-related tests from unittest.cpp to a new file: test_mustache.cpp
- Added coverage for:
  * Nested keys (e.g., user.name, user.address.city)
  * Function-returned template strings (including empty strings)
  * Lists and inverse/else blocks
  * HTML escaping, triple mustache, and unescaped tags
  * Custom template loader and partials
  * Multiline templates with proper indentation
  * Numeric and boolean values
- Removed Mustache tests from unittest.cpp for better organization
* Added missing unit_tests/test_json.cpp to test source files list.

---------

Co-authored-by: gittiver <gulliver@traumkristalle.net>
2025-09-21 20:39:39 +02:00
Nicholas Hanson
3ceeb5d49e Refactor/isolate websocket tests (#1091)
* Refactor routing_params test and isolate HTTP response tests
- Moved tests that depend solely on `crow::response` from unittest.cpp
  to tests/unit_tests/test_http_response.cpp for clearer separation of concerns.
- Renamed the original "simple_response_routing_params" test in
  unittest.cpp to "routing_params" to reflect this chage.
* Utilty unit test refactor
Isolated unit tests that depend only on the utility module into test_utility.cpp.
* Moved websocket unit tests from unittests.cpp into unit_tests/test_websocket.cpp

---------

Co-authored-by: gittiver <gulliver@traumkristalle.net>
2025-09-21 20:37:39 +02:00
Nicholas Hanson
695e604064 Refactor/isolate json tests (#1092)
* Refactor routing_params test and isolate HTTP response tests
- Moved tests that depend solely on `crow::response` from unittest.cpp
  to tests/unit_tests/test_http_response.cpp for clearer separation of concerns.
- Renamed the original "simple_response_routing_params" test in
  unittest.cpp to "routing_params" to reflect this chage.
* Utilty unit test refactor
Isolated unit tests that depend only on the utility module into test_utility.cpp.
* Moved websocket unit tests from unittests.cpp into unit_tests/test_websocket.cpp
* Moved json unit tests from unittest.cpp to unit_tests/test_json.cpp
* Added missing file test_json.cpp
---------

Co-authored-by: gittiver <gulliver@traumkristalle.net>
2025-09-21 19:29:31 +02:00
beached
3924bcddd2 Add missing include to http_server.h (#1094)
std::this_thread::yield( ) requires <thread> to be included.  This may have been implicit but fails on current Apple Clang.  Added missing include.
2025-09-21 19:04:58 +02:00
Andrea Cocito
a79123fa33 Fix a regression on MacOS (#1095)
On apple cland updated as of mid august the compiler complains about std::this_thread::yeld() missing
See also https://github.com/CrowCpp/Crow/pull/1094
2025-09-20 13:13:00 +02:00
Nicholas Hanson
07bbcd74dd Refactor routing_params test and isolate HTTP response tests (#1088)
* Refactor routing_params test and isolate HTTP response tests

- Moved tests that depend solely on `crow::response` from unittest.cpp
  to tests/unit_tests/test_http_response.cpp for clearer separation of concerns.
- Renamed the original "simple_response_routing_params" test in
  unittest.cpp to "routing_params" to reflect this chage.

---------

Co-authored-by: gittiver <gulliver@traumkristalle.net>
2025-09-17 19:52:06 +02:00
Nicholas Hanson
b81824649d Isolate utility tests (#1090)
* Refactor routing_params test and isolate HTTP response tests

- Moved tests that depend solely on `crow::response` from unittest.cpp
  to tests/unit_tests/test_http_response.cpp for clearer separation of concerns.
- Renamed the original "simple_response_routing_params" test in
  unittest.cpp to "routing_params" to reflect this chage.

* Utilty unit test refactor

Isolated unit tests that depend only on the utility module into test_utility.cpp.
2025-09-17 08:41:10 +02:00
Stefano Petrilli
9609ba2196 Solves websocket memory leak (#1080)
* removes raw pointers to websocket connection
* refactor do_write
* checks the right buffer for early termination
2025-09-17 08:09:00 +02:00
gittiver
ef67fd1e73 Merge pull request #1086 from mketas/add-content-type-to-set-static-file-info
Add content type to set static file info
2025-09-16 09:06:23 +02:00
Koehrer Mathias (ETAS-ICA/XPC-Fe1)
efadd1f2c4 Optimize code 2025-09-10 14:30:29 +02:00
Koehrer Mathias (ETAS-ICA/XPC-Fe1)
5993ec53d1 Unit-test for explicit content-type with set_static_file_info 2025-09-10 14:21:42 +02:00
Koehrer Mathias (ETAS-ICA/XPC-Fe1)
6e251028eb Extension to specifiy the content-type of set_static_file_info 2025-09-10 14:01:30 +02:00
gittiver
6dd8f00f55 Merge pull request #1085 from bmarques1995/master
Add option to search for boost if enabled
2025-09-09 21:08:06 +02:00
Gulliver
fba439bc45 updated catch2 lib 2025-09-08 11:07:53 +02:00
bmarques1995
8a20057c47 Add option to search for boost if enabled 2025-09-06 04:56:22 -03:00
Gulliver
d07dd3c4f1 added vcpkg support to dependabot 2025-08-24 17:26:28 +02:00
IgnatSergeev
54b81d1da3 fix Boost::system search for 1.89 and later 2025-08-24 14:46:15 +02:00
Martin Aumüller
105a290536 include CPM via CMAKE_CURRENT_SOURCE_DIR
This again allows crow to be used as a CMake subproject.
This broke in #1066, as CMAKE_SOURCE_DIR refers to the directory of the
root CMakeLists.txt. And when being used from a toplevel project,
${CMAKE_SOURCE_DIR}/cmake/CPM.cmake would not refer to crow's copy of CPM.
This change makes the reference relative to the location of the
CMakeLists.txt requiring the include.
2025-08-24 14:45:55 +02:00