Commit Graph

286 Commits

Author SHA1 Message Date
edb7dd231e Enable html prettifying in the web editor. 2022-08-20 22:30:09 +02:00
b8d9139bb1 HTMLParser now properly parses doctype in a case insensitive way. Also improved an error message a bit. 2022-08-20 22:28:08 +02:00
62b0d5572e Use string length() instead of size() as it was intended in HTMLParser, and BBCodeParser. 2022-08-20 21:57:50 +02:00
5a5fbc8e4d Implemented the initial version of the WebEditor. It's currently a simple preview gui. 2022-08-20 21:50:44 +02:00
e38dfb7c40 Set up WebEditorPlugin to hide / show the web editor tab in a way that feels right. The tab itself is empty though at the moment. 2022-08-20 20:24:40 +02:00
d62fa2b4c9 Added web editor plugin skeleton. 2022-08-20 18:11:07 +02:00
9aadbd720c Added a web node editor icon. 2022-08-20 16:46:45 +02:00
89a414187b Added icons for the rest of the web nodes. 2022-08-20 16:44:30 +02:00
e4cc8ce6fd Added icons for AliasWebPage, and RedirectWebpage. 2022-08-20 15:29:11 +02:00
c5b11c8ca8 Added icons for WebNode, WebRoot, and WebServer. 2022-08-20 03:23:18 +02:00
1ef37c61c2 Moved http server simple to it's own module. 2022-08-19 22:09:30 +02:00
04feb63860 Moved Engine and projectSettings. 2022-08-17 15:35:28 +02:00
be16fe23ad Moved the error macros. 2022-08-17 15:14:19 +02:00
220b2db443 Moved String and related classes under a string folder in core. 2022-08-17 14:19:55 +02:00
dc9cc716c7 Moved Object related classes under core/object. 2022-08-17 13:45:14 +02:00
9555ee56b9 Moved Variant related classes under a variant folder in core. 2022-08-17 13:17:12 +02:00
388b88678e Moved container related classes in core under a new containers directory. 2022-08-17 12:53:49 +02:00
e71e3ed897 Now Vector4, Vector4i, Projection, PoolVector4Array, PoolVector4iArray, are built in variant types. Also reordered the Variant's Type enum, renamed _RID in it to RID, fixed a few smaller issues and removed some very old compat code. 2022-08-16 21:55:56 +02:00
220954cf08 Backported most of the improvements to String from Godot4. 2022-08-15 22:54:03 +02:00
40ed18dd0d Remove accidental import. 2022-07-31 00:02:31 +02:00
c4e7bc1c45 Reused the old unused PROPERTY_HINT_SPRITE_FRAMES as PROPERTY_HINT_BUTTON. It allows you to add buttons to the inspectors. 2022-07-31 00:01:58 +02:00
249dd4d661 Updated property hints for variant arrays. 2022-07-30 21:58:40 +02:00
09acb9bfeb Added an api to the web server simple to add / remove mime types from scripts. 2022-07-24 18:09:45 +02:00
13f0e82b6c Cleanups to the web server. 2022-07-24 15:33:32 +02:00
a1a94ab94e Went back from using an RWLock to a Mutex in WebServerSimple. 2022-07-24 15:15:08 +02:00
9106b5685e Removed multiple poll thread support related things from the web server, that was a bad idea. Also implemented single threaded mode. 2022-07-24 15:10:42 +02:00
731dbb427c Replace the mutex in the web server to an rwlock. 2022-07-24 14:27:58 +02:00
275c11cc6b Don't let changing properties if the server is running. 2022-07-24 14:18:04 +02:00
d55b66b7ff Only start the server thread when it's actually needed. 2022-07-24 14:15:00 +02:00
057d937d8f Added more binds to WebServerSimple. 2022-07-24 13:53:55 +02:00
3956c88859 Added threading settings binds to the SimpleWebServer. 2022-07-24 13:40:58 +02:00
aa8c6b35d1 IMplemented threading for the simple web server. 2022-07-24 13:19:21 +02:00
7d3486e5ee Now the simple server is using a List in a thread safe way. 2022-07-24 11:53:16 +02:00
492f29163c Refactored the SimpleHTTPServer to be able to multi thread it a bit later. 2022-07-24 02:40:39 +02:00
4baf5ed2da Remove unused method. 2022-07-24 02:00:53 +02:00
299f714ed9 Fix memory allocation using new int HTTPSessionManager. Also small cleanups. 2022-07-23 22:37:11 +02:00
abb875f8a5 Use length() instead of size() for strings in the FormValidators. 2022-07-23 22:07:49 +02:00
40df361d7c Implemented UserWebPage. 2022-07-23 19:29:51 +02:00
41d32e3b35 Reimplemented migrations support. 2022-07-23 14:46:05 +02:00
05fd41c5ac Added back md parsing support for the rest of the WebNodes that used to support it. 2022-07-23 02:44:55 +02:00
0f39a8f6ac Added back md parsing support to StaticWebPage. 2022-07-23 02:34:41 +02:00
853480a492 Added a new AliasWebPage WebNode. 2022-07-23 02:06:11 +02:00
db70692e73 Also renamed the classes themselves. 2022-07-23 01:35:22 +02:00
2cae30fcdf Renamed some webnode files. I want to make their names a bit more standardized. 2022-07-23 01:20:43 +02:00
ed92564261 Added a new RedirectWebPage WebNode. 2022-07-23 00:54:26 +02:00
cf3c24381d Improve the binds in WebServer. 2022-07-22 12:05:05 +02:00
caa93f89b0 Uncommented / fixed the methods that take WebServerRequest in HTMLBuilder and it's bind class. 2022-07-22 11:45:12 +02:00
30e3fd8faf Fix typo. 2022-07-21 23:58:34 +02:00
a791c8f4b8 HTTPSession's get_int now has a default parameter. 2022-07-21 23:55:33 +02:00
31ee15432b Notes. 2022-07-21 23:31:37 +02:00
5d260fd68d Cleanups to WebServerRequest. 2022-07-21 23:25:04 +02:00
ed9aa722a3 Actually bind get_server(), and get_web_root() in WebServerRequest. 2022-07-21 22:37:55 +02:00
1f62ad89ff Fix get_server() in WebNode. 2022-07-21 22:31:48 +02:00
0854b8999d Now the SimpleWebServer will properly set the Request's http method. 2022-07-21 16:06:06 +02:00
e52a188794 Implement parsing cookies in the requests for the SimpleWebServer. 2022-07-21 15:51:44 +02:00
e7e95a677a API improvements for WebServerCookie, also now it should be able to properly generate cookie response header strings. 2022-07-21 15:36:04 +02:00
ca08fe3de2 Reworked the Web Server's Cookie API. 2022-07-21 14:05:55 +02:00
9d07a6b271 Implement handling http status codes for responses. 2022-07-21 12:26:39 +02:00
7fa4125463 Small temporary typo fix. 2022-07-21 00:54:51 +02:00
061fb42165 Also implement urlenc (default) form data. 2022-07-21 00:28:57 +02:00
55eaf521b4 Rework the multipart parser code to also work with binary files. 2022-07-20 22:53:55 +02:00
25dda93577 Implement handling multipart forms for the WebServer. It will need some changes to work with binary files though. 2022-07-20 21:29:59 +02:00
2648034425 Layout work for form parsing. 2022-07-20 16:28:37 +02:00
88bc492eb1 Also avoid maybe uninitialized warning. 2022-07-20 00:44:17 +02:00
37fdc4938f Fix shadowed declaration warning in hoedown. 2022-07-20 00:40:49 +02:00
76a0124b88 Implement MarkdownRender's logic. 2022-07-20 00:36:59 +02:00
453a03d0eb Added a MArkdownRenderer class, and the hoedown library. It's not yet implemented. 2022-07-19 22:37:41 +02:00
e96b28c76b Register both classes to the ClassDB, and added missing methods. 2022-07-19 20:36:54 +02:00
147568b18d Bindings for the BBCodeParser. 2022-07-19 20:28:26 +02:00
aa85a21418 Added bindings for HTMLParser. 2022-07-19 20:21:28 +02:00
d786fb5722 More fixes. 2022-07-19 19:26:24 +02:00
30c3baba7c Added binding methods to BBCodeParser. 2022-07-19 19:20:34 +02:00
2b631968d5 Added binding methods to HTMLParser. 2022-07-19 19:07:50 +02:00
f69cd86e5c My BBCode parser now also inherith from Reference. 2022-07-19 14:27:01 +02:00
661ba986d7 Small tweaks. 2022-07-19 14:26:40 +02:00
e4e2bea570 HTMLParser and it's helper classes inherit from Reference now. 2022-07-19 13:58:26 +02:00
e6e8de0cc5 Moved User and UserController to a new module from web. 2022-07-07 23:25:08 +02:00
f47536b834 Add an another note. 2022-07-07 21:53:28 +02:00
d363ad43c2 Remove 2 comments, these variables should actually be safe as normal bools. 2022-07-07 21:46:51 +02:00
6172b0eee4 Set wirte_lock_requested back to false. 2022-07-07 21:46:13 +02:00
57775d88de Renamed WebNode's write lock acquired notification, and changed it's number. 2022-07-07 21:44:41 +02:00
2feba341be Reworked the WebServer to automatically find it's root webnode, and HTTPSessionManager. Also Added notifications for when the server starts and stops, and implemented the write lock for it. 2022-07-07 21:44:14 +02:00
16d12e3756 Cleaned up User, and added it ot the build. 2022-07-07 17:06:00 +02:00
9d5828a6bd Remove drbac and related classes. 2022-07-07 00:48:57 +02:00
3f481f6eba Added an another idea that I had to notes. 2022-07-07 00:26:41 +02:00
9504c2590b More notes. 2022-07-07 00:23:08 +02:00
d469473ec8 Some todos / notes. 2022-07-07 00:18:37 +02:00
eb251fef19 Removed web settings related code from WebNode. 2022-07-06 23:54:07 +02:00
83160ae6cf Removed my settings classes. 2022-07-06 23:46:30 +02:00
afef61dabf Re-enabled database support for WebNodes. 2022-07-06 23:03:44 +02:00
8422566d28 Moved the settings classes fomr the database module to the web module. 2022-07-06 12:59:34 +02:00
d2c0941c42 Fix missing include. 2022-07-04 20:46:26 +02:00
189348169e Added bindings for the FormValidators, and added them to the build. 2022-07-04 20:43:39 +02:00
d4e26c33fa Added getters and setters for the FormValidators. 2022-07-04 19:48:38 +02:00
aa74fb8149 More work on a proper bindable api for the FormValidators. 2022-07-03 21:24:23 +02:00
d2925182fa Cleaned up FormValidators, and reworked their api to fit the engine better. 2022-07-03 20:27:22 +02:00
f3a290e005 Also cleaned up and added my BBCodeParser to the build. 2022-07-03 18:40:05 +02:00
29480135c1 Cleaned up and added HTMLParser to the build. I'll make bindings for it later. 2022-07-03 18:13:41 +02:00
899e3b671d Use memnew() instead of new. 2022-07-03 17:35:07 +02:00
b8d602f847 Added a new helper method to DirAccess. 2022-07-03 17:29:52 +02:00
2eb333b63d Cleaned up the remaining 2 PagedArticle classes. Only PagedArticles is in the build, the other one will need more changes. 2022-07-03 16:28:57 +02:00
eb2abf779d Cleaned up PagedArticle and added it to the build. 2022-07-03 15:27:14 +02:00
d4b93e4869 Small tweak. 2022-07-03 14:21:02 +02:00
bf99b34f1a Fix warnings. 2022-07-03 13:27:11 +02:00
d6d4538c6e Finished cleaning ListPage and added it to the build. 2022-07-03 13:23:32 +02:00
149c177582 Bindinds for HTMLPaginator. 2022-07-03 12:54:54 +02:00
a79a6484e7 Replace uints in HTMLPaginator to ints. 2022-07-02 22:21:43 +02:00
066129b2ba Added HTMLPaginator to the build. 2022-07-02 22:18:14 +02:00
9b1d5d9e87 Removed html utils. 2022-07-02 22:00:19 +02:00
ba2b2d2822 Added pagination methods from utils to the Paginator. 2022-07-02 21:59:24 +02:00
549eb0b39b Initial cleanup pass on Paginator and ListPage. 2022-07-02 21:56:10 +02:00
4d93d8da94 Fixed BrowsableFolderServeNode. 2022-07-02 21:11:13 +02:00
8787b9cd7f Fix logic in WebServerRequest::get_path. 2022-07-02 21:10:48 +02:00
6f10e05c32 Fix FolderServeNode. 2022-07-02 19:58:43 +02:00
8840439f7a Fix path handling in FileCache. 2022-07-02 19:58:06 +02:00
f81018f712 Initial cleanup of the folder serve nodes, also added them and HTMLBuilder to the build. 2022-07-02 16:40:08 +02:00
56d2ccbb26 Cleaned up StaticPages, and added them to the build. 2022-07-02 13:22:10 +02:00
a94ee653d1 Removed a few unneeded files. 2022-07-01 22:38:01 +02:00
25323a92b7 Fix shadowed declaration. 2022-07-01 22:17:35 +02:00
ead4b0594b Refactored FileCache so it actually works with this setup. 2022-07-01 22:13:45 +02:00
0bbff6ae3b Small improvements / fixes. 2022-07-01 18:50:56 +02:00
b77fc71b2d Call setup_url_stack before trying to handle the request. 2022-07-01 18:50:42 +02:00
a7b705ebea Implemented sending responses. (In an extremely simple way for now.) 2022-07-01 18:25:45 +02:00
24e120142e Implement basig http header parsing, and also send the request through the WebNode tree. 2022-07-01 17:40:47 +02:00
10150d67c8 Fix shadowed declaration. 2022-07-01 01:10:35 +02:00
22a8b3fff5 Fix sign compare warning. 2022-07-01 01:08:51 +02:00
0ee8dc5f2a Callback setup for http_parser. 2022-07-01 01:03:23 +02:00
913d46e7f0 Added http_parser. 2022-06-30 23:25:05 +02:00
7455fc9dd5 moved HTTPParser and writer to the simple server's directory. 2022-06-30 23:18:45 +02:00
08bb253a5c Some initial work on the parser. 2022-06-30 23:12:32 +02:00
ddf3dae42b Also added a HttpWriter. 2022-06-30 21:43:16 +02:00
228cfca0eb Added a new HTTPParser class. 2022-06-30 21:22:42 +02:00
089431e902 Remvoed httpio, as it apparently works differently that how I originally thought. 2022-06-30 21:09:54 +02:00
fe5882665b Added it to the build. 2022-06-30 18:26:51 +02:00
be5f77c874 Added httpio ( https://github.com/fetisov/httpio ). 2022-06-30 18:23:12 +02:00
617d3e6321 Added SimpleWebServerRequest. 2022-06-30 18:06:02 +02:00
92040597e9 Fixed my fix. 2022-06-30 17:29:02 +02:00
e3989cafad Fix a compile error for some of the platforms. 2022-06-30 17:25:45 +02:00
e660b2d848 Cleaned up WebServerSimple and added it to the build. 2022-06-30 17:15:57 +02:00
8014115546 Initial cleanup of the web server classes. 2022-06-30 16:28:23 +02:00
121740f070 Added theweb nodes from rcpp_framework. 2022-06-30 13:23:14 +02:00
48e8b85f7e Copied over the javacript export class, as a base of a simple webserver implementation (later). 2022-06-27 16:38:35 +02:00
2fb352fd3c Added note. 2022-06-27 16:37:30 +02:00
75c405c174 Removed the temp folder. 2022-06-27 16:24:04 +02:00
50c20d4a72 ... an another one ... 2022-06-27 16:12:49 +02:00
4251937198 More sign compare warning fixes. 2022-06-27 16:10:02 +02:00
9e99f010bc Fix an another sign compare warning. 2022-06-27 16:06:26 +02:00
567716c79a Fix different sign compare warning. 2022-06-27 15:47:10 +02:00
a6331e9ff9 Fix calling the proper methods. 2022-06-27 15:42:57 +02:00
3a6a046ad4 WebRoot lookup and pix property. 2022-06-27 15:42:40 +02:00