Commit Graph

303 Commits

Author SHA1 Message Date
b613349a11 Added StringName from Godot. 2022-02-04 07:58:57 +01:00
88fafbe78e Added image from godot, and removed the sdl image/sprite/texture. 2022-02-04 07:58:36 +01:00
a834ef7e87 Added spin lock and rwlock from godot. 2022-02-04 07:57:57 +01:00
33ba5337b7 Added html special chars methods to the string. 2022-02-04 06:37:14 +01:00
33be242319 Implement handling [color=white] like bbcode tags. 2022-02-04 06:19:38 +01:00
0e4222e5af Remove warning from self closing tags, as it handles list items correctly. 2022-02-04 06:07:41 +01:00
cf8883fdd1 The bbcode parser should work now. Kept the self closing tag, as it might be useful for non standard tags. 2022-02-04 05:57:47 +01:00
15077110e2 Removed the script tag parsing from the bbcode parser. 2022-02-04 05:51:53 +01:00
b8969af324 Added a bbcode parser. It's a copy of the html parser for now. 2022-02-04 05:50:13 +01:00
a81dac1515 Fox include guard. 2022-02-04 05:47:51 +01:00
5d75c5bda7 Removed resource properties, and most things from the base resource. 2022-02-04 05:16:40 +01:00
6416ecc5e0 Reworked migrations. Now they automatically propagate through the node hierarchy. Also they have parameters. 2022-01-13 23:45:38 +01:00
127219fe34 Added more helper methods to WebNode. Also a render_menu() virtual. 2022-01-13 22:58:59 +01:00
bde46b20cd Reworked how set_tree works. 2022-01-13 22:58:27 +01:00
f498628ee1 Split handle_request_main into handle_request_main and _handle_request_main. _handle_request_main should be responsible for actually rendering a page, while the normal one is responsible for routing by default. This makes the design simpler. 2022-01-09 18:35:12 +01:00
73df53418a Process middleware now returns a bool, and processing the request now actually stops if a middleware returns true, as intended. 2022-01-09 16:03:27 +01:00
3873463dfa Improved the comments in WebRoot::setup_middleware. 2022-01-09 15:55:32 +01:00
8a64723710 Save the settion after the csrf token is added to it. 2022-01-09 15:53:58 +01:00
885d6cb4a6 Added url ignore support for the csrf token middleware. Also properly implemented create_token. 2022-01-09 15:53:40 +01:00
e728d826f1 Fis logic in has() in HTTPSession. 2022-01-09 15:48:54 +01:00
7323c38776 Make sha256's factory method return a ref<> instead of a raw pointer. 2022-01-09 15:29:03 +01:00
8e903f2695 Added a simple csrf token middleware. 2022-01-09 15:25:55 +01:00
4c6e02d07f Added an another csrf token helper. 2022-01-09 15:00:59 +01:00
58411bdb7d Made the more complex helper methods return the HTMLBuilder tself instead of the HTMLTags in HTMLBuilder . 2022-01-09 14:58:35 +01:00
3c8d2eaed9 Core support for csrf tokens. 2022-01-09 14:51:04 +01:00
a119251e09 Reworked HTTPSession, now it uses Variants instead of multiple classes. Also it's inherited from Reference now. Also smaller cleanups to the SessionManager. 2022-01-09 14:32:09 +01:00
bede579bf6 Fixed a few smalled issues with variant. Also added 2 new helper methods to it. 2022-01-09 14:30:42 +01:00
10effc3971 Delete children Nodes in Node's destructor. Also delet the tree in NodeTree's destructor. 2022-01-08 14:11:08 +01:00
bd93a2a9ce Don't call setup() in WebRoot's constructor. 2022-01-08 13:41:26 +01:00
d380d14152 Move middleware processing to a helper method. 2022-01-08 13:09:12 +01:00
7dc547b022 Added an another helper method to WebRouterNode. 2022-01-08 13:01:43 +01:00
3809ca5a38 Rename UserController's main handler method to the new proper one. 2022-01-08 12:49:34 +01:00
90d62dbef7 Replaced std::strings with String in WebRoot. 2022-01-08 12:41:15 +01:00
159c784689 Removed HandlerInstance. 2022-01-08 12:39:04 +01:00
dff3156138 Cleaned up WebRoot. 2022-01-08 12:35:44 +01:00
15b9bb17e5 Removed the middleware stack from Request. 2022-01-08 12:27:42 +01:00
ec2eabacc1 Implemented middleware handling. Also converted middleware handlers to the new stystem. 2022-01-08 12:25:52 +01:00
ef18e705f4 Added a new Middleware class. 2022-01-08 12:05:33 +01:00
d873312915 Moved get_server from WebRoot to WebNode. 2022-01-08 12:00:12 +01:00
f00e5c5c9e Now the root node's type inthe webserver is a WebNode instead of a WebRoot. 2022-01-08 11:58:35 +01:00
163432e147 Make WebRoot use the new error handling system. 2022-01-08 11:51:39 +01:00
fd106fc785 Reworked error handling. 2022-01-08 11:47:39 +01:00
413e9efbc8 Implement setting http status codes. 2022-01-08 11:42:57 +01:00
e0b76706d9 Implemented the new node based routing. 2022-01-08 11:27:26 +01:00
01a5e1881d Started reworking routing. 2022-01-08 10:50:07 +01:00
10d3f2fd87 Added a new WebRouterNode (skeleton), and made WebRoot inherit from it. 2022-01-08 10:06:11 +01:00
3704c031f2 Added lots of missing RCPP_OBJECT declarations. 2022-01-08 10:04:12 +01:00
f2458084e6 Add todo. 2022-01-07 23:25:30 +01:00
d9c36d0a4e Added an input_hidden helper. 2022-01-07 22:58:12 +01:00
a1afe210d1 Split WebApplication into WebServer and WebRoot. WebServer inherits from NodeTree, and WebRoot inherits from WebNode. Also removed some of the brynet classes. 2022-01-07 20:11:06 +01:00