Commit Graph

138 Commits

Author SHA1 Message Date
Farook Al-Sammarraie
b6a04058a1
Merge branch 'master' into gcc48 2022-04-25 09:34:52 +03:00
Dan Keenan
bdfd9cb6a9 Create failing test. 2022-04-16 17:31:12 -04:00
The-EDev
9f7ed83c45
Removed is_callable in favor of CallHelper + formatting 2022-04-16 16:04:49 +03:00
The-EDev
facae48aa1
Allowed compiling on GCC 4.8 by using CallHelper instead of is_callable
Also fixed issue with ssl test string comparison (which caused random incorrect failures)
2022-04-11 06:24:43 +03:00
Luca Schlecker
44f51f4750 Crow's current features (ssl and compression) can now be enabled through 'CROW_FEATURES' instead of their own CMake variables.
The default features are the ones Crow was installed with but can be overridden by setting 'CROW_FEATURES' before the 'find_package' call.

Signed-off-by: Luca Schlecker <luca.schlecker@hotmail.com>
2022-04-04 20:36:57 +02:00
The-EDev
69feb9c226
Formatting 2022-03-16 21:15:18 +03:00
The-EDev
c858078b4e
Fixed test porblem 2022-03-16 18:45:31 +03:00
The-EDev
c0062bd2e7
added run_async method
also added unit tests for #358
2022-03-10 15:44:39 +03:00
Vladislav
870028ec99
Merge branch 'master' into cors-middleware 2022-03-08 16:53:12 +03:00
Vladislav Oleshko
1c4416ef8d Fixes. Complete builder pattern. Add testcase 2022-03-08 16:33:08 +03:00
The-EDev
37940d2cc0
fixed multiple definition problem and added test to make sure it doesn't
happen again
2022-02-23 06:00:00 +03:00
Vladislav Oleshko
5f105aca37 Fix clang-format 2022-02-22 17:46:29 +03:00
Vladislav Oleshko
6432d4486d Add example and test 2022-02-22 17:38:51 +03:00
The-EDev
9a876e9451
Made template render() function return a returnable instead of a string
Justification is for the content-type header to be set to HTML instead of
text.

Also added render_string() functions to replace the old methods.
2022-02-18 04:25:02 +03:00
Farook Al-Sammarraie
9db0e3b8fe
Merge branch 'master' into parser_optimization 2022-02-15 15:56:48 +03:00
Farook Al-Sammarraie
1c98bbb860
Merge branch 'master' into local-middleware 2022-02-14 22:17:19 +03:00
Farook Al-Sammarraie
ab50fb3134
Merge branch 'master' into parser_optimization 2022-02-11 00:46:19 +03:00
Vladislav Oleshko
a5ba69f5a4 Update test for completion handler fix 2022-02-08 21:57:39 +03:00
The-EDev
155cf759eb
fixed issue where absolute unix paths were not sanitized 2022-02-08 19:11:46 +03:00
The-EDev
175b004c26
code formatting (also disabled formatting where not applicable) 2022-02-06 22:29:46 +03:00
The-EDev
15908e5498
fixed problem with compression test 2022-02-06 21:01:22 +03:00
The-EDev
75b100527f
Merge branch 'refs/heads/master' into parser_optimization 2022-02-05 18:35:01 +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
Thomas Neumann
74e5fa8c87 improve sanitize_filename
The old implementation allocated a new string for every invocation, and
repeatedly scanned the string for occurences of the various Windows device
names. This commits resizes the original string instead if needed, and
detects all devices with a single pass.
2022-01-24 08:08:20 +01:00
Thomas Neumann
15085a9f95 avoid memory allocation in base64decode
Every single call to base64decode allocates a mapping table for all
base64 characters. This is quite wasteful, as the map is in fact static.
We could use a static variable here, but that would have unpleasant consequences
if we ever encounter input with non-valid base64 characters (which
implicitly modifies the map).

The number of character ranges for base64 is quite low (3, plus 4 exceptions),
thus we can simply check that explicitly in code instead of using a dynamic hash table.
2022-01-24 07:24:34 +01:00
Thomas Neumann
092b4456d0 update catch2 to v2.13.8 2022-01-22 19:27:08 +01:00
The-EDev
228e61d150
Added mustache lambda expansion 2021-12-10 05:17:25 +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
The-EDev
65f8eb9e44
added macro to enforce ws spec and added 16/64 bit payload length unit tests for ws 2021-11-22 17:39:48 +03:00
Luca Schlecker
e5c7daccce remove every occurance of #define CROW_MAIN.
Signed-off-by: Luca Schlecker <luca.schlecker@hotmail.com>
2021-11-21 17:25:16 +01:00
Luca Schlecker
6458184e8f task_timer: rename set_timeout to schedule.
Signed-off-by: Luca Schlecker <luca.schlecker@hotmail.com>
2021-11-20 17:03:58 +01:00
Luca Schlecker
403d0dcffd add unit test for task_timer.
Signed-off-by: Luca Schlecker <luca.schlecker@hotmail.com>
2021-11-20 16:56:26 +01:00
Luca Schlecker
b47e0adcf7 add unit test for server timeout.
Signed-off-by: Luca Schlecker <luca.schlecker@hotmail.com>
2021-11-17 19:42:36 +01:00
Farook Al-Sammarraie
7f8629075d
Added newline to end of unittest.cpp 2021-11-15 15:52:33 +03:00
Florian Rupprecht
5bb7fac016 Get app port 2021-11-14 13:04:19 +01:00
Farook Al-Sammarraie
05a4b82bd5
Merge branch 'master' into http09_get_only 2021-11-02 00:00:03 +03:00
The-EDev
9b3f83a06f
Fixed issue in Test message formulation 2021-11-01 21:10:45 +03:00
The-EDev
ed8d1ebaaa
Added checks for GET on HTTP/0.9 and any other errors
Earlier behavior only checked whether every byte was parsed, which isn't
ideal

Signed-off-by: The-EDev <farook@the-e-dev.com>
2021-11-01 12:02:25 +03:00
The-EDev
576f90a0e4 Added Base64 decoder function and Base 64 unit tests 2021-10-31 02:50:19 +03:00
The-EDev
9667e17a40 fixed bug introduced in last commit 2021-10-06 13:51:17 +03:00
The-EDev
71639b6046 added named constants 2021-10-06 13:32:35 +03:00
The-EDev
85e9787575 changed the way "stream_response" test handled incoming data
This will either fix the issue (223), be generally better than the previous way the test was conducted, or change the failure rate from 70% to 100%
2021-10-05 15:13:38 +03:00
The-EDev
ac36da8e97 Updated ssl_test CMake config to match revamped_setup 2021-09-28 00:50:26 +03:00
The-EDev
b3638a3b83 Merge remote-tracking branch 'refs/remotes/origin/revamped_setup'
Conflicts:
	.drone.yml
2021-09-27 19:04:01 +03:00
The-EDev
f5c392a973 made SSL test work 2021-09-27 01:09:45 +03:00
Luca Schlecker
989ae6a6cd disable compression test if configured without enabling compression support. 2021-09-01 09:29:12 +02:00