Commit Graph

101 Commits

Author SHA1 Message Date
Nabzokek Zubkenkanakov 4fbd9b471f
Header files documentation (#804)
* Added documentation of "crow::App", "crow::SimpleApp", "crow"
(namespace), all macros defined in "crow/app.h".
* Added documentation entry for file crow/TinySHA1.hpp, namespace sha1,
class sha1::SHA1, namespace crow and namespace crow::websocket
* Documented crow/app.h and also improved crow/TinySHA1.hpp documentation
* Update app.h
2024-04-24 23:35:13 +02:00
Corentin Schreiber 049490c2c9
Add configurable exception handler (#637)
* Added exception_handler()

* Fixed worker crash if exception thrown in catch-all handler
2024-03-10 13:52:13 +01:00
StefanoPetrilli db059ce4c4 adds flag to avoid adding blueprints multiple times 2024-03-10 13:11:56 +01:00
StefanoPetrilli a62956b61a split the different responsibilities of validate into different functions 2024-03-10 13:11:56 +01:00
Corentin Schreiber df756fed45
Use const std::string& as argument to route() (#684) 2024-01-29 18:10:20 +01:00
Vasileios Anagnostopoulos d5e0523602 Fix memory leaks caused from the http_connection
This memory leak was caused from the fact that we were creating a raw
pointers in the do_accept method of the http_server. The initial
connection was never released, but all subsequent connection
were released without problem. So this commit introduces shared_ptr
to manage all the connection and release the memory when the
connection is not needed any more.

Signed-off-by: Vasileios Anagnostopoulos <anagnwstopoulos@hotmail.com>
2023-05-14 13:38:42 +02:00
Stefano Petrilli 3b81e16614
Validate if the CROW_ROUTE starts with a '/' (#559) (#597) 2023-05-05 16:00:18 +02:00
S. V. Paulauskas 52a3caa09c CrowCpp/Crow#585 : Resolves issue with blueprint assignments.
Adds static_dir_, templates_dir_, blueprints_, and mw_indices_ to the assignment.
This ensures that the Blueprint is assigned all the information.
2023-02-01 08:41:12 -05:00
Aleksi Sohlman 39a3472374 fix optimizeNode to prevent a crash on MSVC 2022-11-30 17:44:26 +02:00
okaestne 323a7cb48f
routing: use object references instead of raw pointers
this fixes some memory leaks.
also remove unused `get_size` method.
2022-11-05 23:08:49 +01:00
The-EDev 25eefa1711 Addressed code reviews + small tweaks (unit test and paser.done()) 2022-07-22 17:17:38 +03:00
The-EDev b986d1e38a Find the route as soon as the URL is parsed 2022-07-22 17:17:38 +03:00
erik fcd38e7447 Fixed bug: Could not define route for HEAD method
Defining a HEAD method would give HTTP error code 405 (Method Not Allowed) and
calling OPTIONS on the route would return HEAD twice in the Allow header.
2022-06-30 08:07:11 +02:00
The-EDev 6f832f82fa
added message string to websocket error handler 2022-06-21 02:23:51 +03:00
Luca Schlecker 5b1c5a9e9e removing some boost includes, fixing version checks and further phase out boost. 2022-06-18 17:21:37 +03:00
Michael Schreckenbauer 65fcdea968 allow setting userdata in onaccept of websocket-connection 2022-05-27 14:06:12 +02:00
Farook Al-Sammarraie a6bf90fa8b
Merge branch 'master' into blueprint-middleware 2022-05-23 09:43:17 +03:00
Farook Al-Sammarraie e7007cfbce
Merge branch 'master' into blueprint-middleware 2022-05-18 13:30:13 +03:00
The-EDev 57c3b43ac0
Fixed small bugs in code 2022-05-16 19:14:51 +03:00
oscar.chen 487c4e6c08 removing unneeded variable 2022-05-15 01:34:29 -07:00
oscar.chen f0ea634c01 fix copy paste error 2022-05-15 01:21:34 -07:00
oscar.chen a0a1925630 Pass the max payload in Connection constructor 2022-05-15 01:01:24 -07:00
oscar.chen 7164517622 use arrow not . 2022-05-14 19:10:05 -07:00
oscar.chen 89d99f6ae9 add missing commas 2022-05-14 18:46:49 -07:00
oscar.chen a30f0f6e4f fix wrong intializer syntax 2022-05-14 18:20:46 -07:00
oscar.chen aaeaf9922e fix clang format 2022-05-14 17:54:21 -07:00
oscar.chen 4daf126df0 Add websocket payload size for both app and WebsocketRule 2022-05-14 17:51:51 -07:00
The-EDev 78c7186897 Allowed Crow class to be passed to Websocket connection object 2022-05-14 12:05:06 +03:00
Vladislav 4d4d0094fe
Merge branch 'master' into blueprint-middleware 2022-05-07 23:03:35 +03:00
The-EDev 2619f3a358
fixed issue where OPTIONS responses would report content-length 2022-04-27 05:55:31 +03:00
Vladislav Oleshko d86b2d36f1 Add test, small fixes 2022-04-13 12:16:06 +03:00
Vladislav Oleshko d9ba5787f1 Fix blueprint bug 2022-04-12 12:19:16 +03:00
Vladislav Oleshko eb2c0a58b2 Optimize dynamic call criteria, small fixes 2022-04-11 23:03:11 +03:00
Vladislav Oleshko 3b9e522523 Blueprint middleware prototype 2022-04-11 16:01:27 +03:00
The-EDev 5f18548369
Fixed problem where GCC < 6 wouldn't compile Crow 2022-03-30 15:50:11 +03:00
The-EDev a3c1af4b29
updated documentation in mkdocs and doxygen 2022-03-24 01:55:46 +03:00
The-EDev a0e6e3756b
added set_global_base method to change the default mustache templates
directory
2022-03-18 13:55:27 +03:00
Farook Al-Sammarraie 9db0e3b8fe
Merge branch 'master' into parser_optimization 2022-02-15 15:56:48 +03:00
The-EDev 4cdde73388
Optimized HTTP parser
Also (likely) fixed problem with streaming without keeping connection
alive
Also fixed problem with multipart hanging on request
Also updated TODO entries to indicate Writer
2022-02-05 18:15:19 +03:00
Vladislav Oleshko 69e9ad9c1e Run clang format 2022-02-01 23:21:07 +03:00
Vladislav Oleshko e60714c0b2 Separate middleware for handlers 2022-02-01 22:49:41 +03:00
The-EDev 94a2f942bc
changed comment style back to the original (doxygen did not work with the new style) 2021-12-03 06:39:23 +03:00
Luca Schlecker 7e4f1494d2 improved lambda bracing by inlining only empty lambdas.
Signed-off-by: Luca Schlecker <luca.schlecker@hotmail.com>
2021-11-27 19:22:35 +01:00
The-EDev 03e59aa446
improved bracing rules, commented out clang-format 14 rule 2021-11-27 15:28:50 +03:00
The-EDev 7f4b7c8ff9
created new rules, used bot to enforce rules in PRs 2021-11-25 14:45:38 +03:00
Luca Schlecker 5823a5984e remove the need for `#define CROW_MAIN`.
This is achieved using the conts type qualifier as it gives internal linkage.
fixes #273

Signed-off-by: Luca Schlecker <luca.schlecker@hotmail.com>
2021-11-21 17:25:16 +01:00
Luca Schlecker 21c872e771 Revert "defining CROW_ENABLE_SSL disables non SSL code"
This reverts commit 10f3238ffc.
2021-08-31 18:14:05 +02:00
Luca Schlecker 823e891572 fix routing on windows. 2021-08-24 17:06:21 +02:00
Farook Al-Sammarraie ddca7b5924
Merge branch 'master' into catchall_codes 2021-08-21 14:41:14 +03:00
The-EDev db08b5a11d further simplified BP search code & made error_message const 2021-08-21 14:35:59 +03:00