Commit Graph

80 Commits

Author SHA1 Message Date
65892ddd5a Added get_parent_webnode, get_full_uri, and get_full_uri_parent helpers to WebNode. 2022-02-04 15:54:21 +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
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
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
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
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
7117cb3988 Added settings and database helpers to WebNode. 2022-01-07 17:16:24 +01:00
3eb128264d Also commit the .cpp file. 2022-01-07 17:03:21 +01:00
b5a477f917 Added create_default_entries() to WebNode. 2022-01-07 17:02:47 +01:00
5b7cdd3829 WebNode now inherits from Node. 2022-01-07 16:57:13 +01:00
78c5601a9b Merged Model and Controller into a new WebNode class. 2022-01-07 16:36:39 +01:00
557c2a3934 Inherit WebApplication from Object. 2021-11-21 14:40:47 +01:00
cc0ca4762a Removed stray crash cond. 2021-11-03 15:43:22 +01:00
c21a86c9d2 Initial platform setup, and added godot's crash handler (will need to be heavily reworked!). 2021-11-03 15:42:16 +01:00
0a53e84fb4 Added new helpers to the Request, and smaller fixes. 2021-11-02 12:25:04 +01:00
43b7a352a5 A bit more work on the rbac admin interface. 2021-11-02 00:18:57 +01:00
68ecd088c5 Added more helpers to Request. 2021-11-01 21:20:42 +01:00
e7d4772ef3 Added get_url_root_parent helper to Request. 2021-11-01 20:57:43 +01:00
e977de894a Now the http backends are also using String. 2021-11-01 19:11:27 +01:00
ef7b39bfb1 Added 2 url helpers to Request. 2021-11-01 00:38:26 +01:00
304a2a19c9 Added a simple new Model and Controller class. 2021-10-31 21:44:44 +01:00
8e4bb75bcb Implement redirects. 2021-10-31 02:50:06 +02:00