Commit Graph

293 Commits

Author SHA1 Message Date
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
3133ecdb08 Node and NodeTree implementations. 2022-01-07 19:28:16 +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
ad55c03d59 Added a nodetree and a node skeleton classes. With a few notes. 2022-01-07 16:56:26 +01:00
78c5601a9b Merged Model and Controller into a new WebNode class. 2022-01-07 16:36:39 +01:00
937d7a3d87 Added double alternative for a few Variant methods. 2022-01-06 19:33:46 +01:00
3533145133 Added a new database based settings class. 2022-01-06 19:30:02 +01:00
fa6c1281b9 Settings now inherits from Object. 2022-01-06 18:58:25 +01:00