Commit Graph

647 Commits

Author SHA1 Message Date
Michael Schreckenbauer
df3d7cad41 define S_ISREG on windows 2022-06-22 10:54:25 +02:00
MichaelSB
b788fc43c5
Merge branch 'master' into response_check_file_type 2022-06-22 10:53:37 +02:00
Vladislav Oleshko
4df3f2f171 Add expiration tracker 2022-06-21 23:52:21 +03:00
Vladislav Oleshko
9ed2e32905 Remove boost impl, unify integral types 2022-06-21 17:05:31 +03:00
Vladislav Oleshko
29c657df8f Add session id preset, remove boost filesystem, small fixes 2022-06-21 15:38:22 +03:00
Farook Al-Sammarraie
454dabdba2
formatting 2022-06-21 02:56:07 +03:00
The-EDev
ab2a132bff
fixed error in json float dump (where a pointer was checked against nullptr instead of '\0') 2022-06-21 02:25:42 +03:00
The-EDev
6f832f82fa
added message string to websocket error handler 2022-06-21 02:23:51 +03:00
MichaelSB
a3307170cf
Merge branch 'master' into response_check_file_type 2022-06-20 08:00:44 +02:00
Alexander Goussas
29d50e8df2 overload template_t::render to accept context as an r-value 2022-06-20 06:25:13 +03:00
The-EDev
c2d1bfac38 Fix wvalue::Operator = (wvalue && r); 2022-06-20 05:52:30 +03:00
MichaelSB
719929b930
Merge branch 'master' into response_check_file_type 2022-06-18 19:27:10 +02:00
Luca Schlecker
02bbbde8b7 add comment to trim function, use it correctly and remove redundant whitespace checks in CookieParser. 2022-06-18 17:21:37 +03:00
Luca Schlecker
e7a04859fe r_string: combine equality operation algorithm.
A private templated function containing the algorithm is used to prevent repetition.
2022-06-18 17:21:37 +03:00
Luca Schlecker
126d79dc38 cookie_parser & query_string: use std::unique_ptr instead of raw pointers. 2022-06-18 17:21:37 +03:00
Luca Schlecker
9f98a66cd1 utility: improve string_equals function.
Return early if inequality is found.
2022-06-18 17:21:37 +03:00
Luca Schlecker
2fbf93e211 replace std::error_code with asio::error_code.
This makes the code more consistent and also reflects the intention a little better.
2022-06-18 17:21:37 +03:00
Luca Schlecker
9cffc3f268 json: add missing r_string comparison operator. 2022-06-18 17:21:37 +03:00
Luca Schlecker
6c4ad07a62 utility: trim and lexical_cast were missing inline static leading to compilation errors. 2022-06-18 17:21:37 +03:00
Luca Schlecker
4aa9b3e89b json: replace std::equal to maintain C++11 compatibility. 2022-06-18 17:21:37 +03:00
Luca Schlecker
5336d0fff7 json: replace remaining boost functions with their std equivalent. 2022-06-18 17:21:37 +03:00
Luca Schlecker
60ca594b91 cookie_parser: use utility::trim instead of boost::trim. 2022-06-18 17:21:37 +03:00
Luca Schlecker
982e62eabf utility: add string trimming function. 2022-06-18 17:21:37 +03:00
Luca Schlecker
8d0d4c80ee Remove usage of boost::optional.
Move to pointers instead.
This implementation relies on the safe deletion of `nullptr`.
2022-06-18 17:21:37 +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
Luca Schlecker
df92d6d639 replace boost::lexical_cast with an equivalent based on std::stringstream. 2022-06-18 17:21:37 +03:00
Luca Schlecker
61d27e3b82 ci_map: replace boost::hash_combine with member function. 2022-06-18 17:21:37 +03:00
Luca Schlecker
f3d00bbecf replace boost::asio with standalone asio. 2022-06-18 17:21:37 +03:00
Luca Schlecker
c780642dd8 http_server: replace boost::asio::deadline_timer with a standalone asio equivalent. 2022-06-18 17:21:37 +03:00
Luca Schlecker
2f87414769 replace usage of boost::iequals with utility::string_equals. 2022-06-18 17:21:37 +03:00
Luca Schlecker
f3dba60efd utility: add string_equals function.
It serves as a replacement for boost::iequals.
2022-06-18 17:21:37 +03:00
Luca Schlecker
58583bf1a5 deboostify task_timer. 2022-06-18 17:21:37 +03:00
Luca Schlecker
78f764791e remove 'using namespace boost' declarations. 2022-06-18 17:21:37 +03:00
Michael Schreckenbauer
c593fbb3b4 only allow regular files in set_static_file_info, return 404 in all other cases 2022-06-15 09:20:11 +02:00
erik
3782044249 Fixed race condition: calling stop() immediately after async_run() and wait_for_server_start() could lead to deadlock
This is the case in some short, simple unit tests, such as "get_port".
2022-06-13 10:53:27 +02:00
Alexander Goussas
6bac5d948b fix qs_parse eating first character in form keys 2022-06-11 21:44:53 -05:00
Michael Schreckenbauer
efee71745b do not try to read from websocket after sending and receiving the close frame 2022-06-04 12:14:46 +02:00
Michael Schreckenbauer
5ef370c519 erase websocket::connection from vector in App::remove_websocket() 2022-06-03 07:44:57 +02:00
Vladislav Oleshko
b939dd4f1d Small fixes 2022-05-28 17:59:33 +03:00
Vladislav Oleshko
f46bdc1a24 First iteration of sessions 2022-05-28 16:42:25 +03:00
Michael Schreckenbauer
65fcdea968 allow setting userdata in onaccept of websocket-connection 2022-05-27 14:06:12 +02:00
Vladislav Oleshko
946292747e Small fixes 2022-05-23 20:17:49 +03:00
Vladislav
94fa9f77f6
Merge branch 'master' into app-constructor 2022-05-23 20:12:55 +03:00
Farook Al-Sammarraie
a6bf90fa8b
Merge branch 'master' into blueprint-middleware 2022-05-23 09:43:17 +03:00
The-EDev
cd67331fad
formatting 2022-05-21 14:51:48 +03:00
The-EDev
94a05b854a
changed functionality to avoid circular include 2022-05-21 12:32:32 +03:00
The-EDev
387c222ea2
added creating qs from request body functionality + updated doc 2022-05-20 22:36:32 +03:00
The-EDev
f2b63f23f5
Fix for issue where app.stop() blocks when a websocket is open 2022-05-20 14:14:55 +03:00
Farook Al-Sammarraie
3e6c097733
Merge branch 'master' into #421-Websockets-should-support-a-maximum-payload 2022-05-18 20:04:38 +03:00
konrad
7e4f57486c Add extra log when status code is not defined.
Just to document behaviour when returning status that is
not well-known.
2022-05-18 15:57:46 +03:00
The-EDev
5fcaa19163
should_close_ -> shutting_down_ 2022-05-18 14:08:40 +03:00
The-EDev
cfc4281e3b
Prevent acceptor from taking new connections while websockets close 2022-05-18 13:49:50 +03:00
Farook Al-Sammarraie
e7007cfbce
Merge branch 'master' into blueprint-middleware 2022-05-18 13:30:13 +03:00
The-EDev
4128e5c27d
further formatting 2022-05-18 12:40:11 +03:00
The-EDev
333b49bf04
Replaced do_not_destroy_ with adaptor_.shutdown_readwrite() +
formatting
2022-05-18 12:28:51 +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
cdba76739f fix clang format 2022-05-14 19:35:45 -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
aa75fc108d fix wrong comment 2022-05-14 17:58:53 -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
e5fe4e6e26
Used App reference to get websocket count and signals.
Also fixed issue where enabling SSL prevented compilation.
2022-05-15 01:15:39 +03:00
Farook Al-Sammarraie
9f99be55e1
Merge branch 'master' into ws_close 2022-05-14 18:56:39 +03:00
oscar.chen
dc988ce27b fix clang format 2022-05-14 14:07:51 +03:00
oscar.chen
182b1ba915 #421 add rudimentary support for websocket max payload 2022-05-14 14:07:51 +03: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
Vladislav Oleshko
81ae1c9de2 Replace optional with empty string 2022-05-07 12:09:22 +03:00
Vladislav Oleshko
51bb6062ef Rename format, refactor dump 2022-05-07 12:09:22 +03:00
Vladislav Oleshko
a01e39cf5d Use std::tm instead of boost 2022-05-07 12:09:22 +03:00
Vladislav Oleshko
988926660e Support zero max-age for instant expiration 2022-05-07 12:09:22 +03:00
Vladislav Oleshko
76d7ae3dac Add attribute support to cookie parser 2022-05-07 12:09:22 +03:00
The-EDev
82e894dc88
formatting 2022-04-27 06:11:49 +03:00
The-EDev
84289dbe71
fix typos 2022-04-27 05:58:53 +03:00
The-EDev
2619f3a358
fixed issue where OPTIONS responses would report content-length 2022-04-27 05:55:31 +03:00
The-EDev
372212a3af
Added method for assigning an SSL certificate chain file 2022-04-27 05:54:33 +03:00
Joel Guittet
c14acad044 app: static can be an absolute path 2022-04-26 06:02:45 +03:00
Kinshuk Bairagi
de16aab1a9 Fix for cpp/comparison-with-wider-type 2022-04-26 05:30:31 +03:00
Farook Al-Sammarraie
b6a04058a1
Merge branch 'master' into gcc48 2022-04-25 09:34:52 +03:00
Dan Keenan
869a0abb04 Fix header name. 2022-04-21 19:51:22 -04:00
Dan Keenan
885ac41d99 Formatting fixes. 2022-04-20 16:26:09 -04:00
Dan Keenan
89226687ea Avoid exception handling. 2022-04-20 16:18:50 -04:00
Dan Keenan
33df7fc35b Handle extensions without mime types assigned to them. 2022-04-16 17:35:44 -04:00
Farook Al-Sammarraie
60b1d82999
Merge branch 'master' into gcc48 2022-04-16 16:07:05 +03:00
The-EDev
0f3721f5eb
removed mentions of is_callable in middleware.h 2022-04-16 16:05:41 +03:00
The-EDev
9f7ed83c45
Removed is_callable in favor of CallHelper + formatting 2022-04-16 16:04:49 +03:00
Vladislav Oleshko
74d94888d1 Generic app constructor 2022-04-13 20:49:22 +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
cca8578556
Merge branch 'master' into blueprint-middleware 2022-04-12 10:52:45 +03:00
Dao-hui Chen
c2b8a60eb3 Concatenate log into one string and sending to std::cerr instead of multiple << operator 2022-04-12 09:18:38 +08: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
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
The-EDev
6a5c18a54f
Fixed issue where Crow wouldn't compile when using CROW_MIDDLEWARES with a pass-by-reference app 2022-04-09 04:45:32 +03:00