Commit Graph

845 Commits

Author SHA1 Message Date
7747a3e85a Ported: Free region RID when cleaning NavPoly in TileMap - timothyqiu
5c039ccc72
2022-07-25 22:34:05 +02:00
e8f8904e56 Ported:
Use 3001 instead of 1001 when destroying a websocket. -  jasonwinterpixel
1f080e203d
2022-07-25 19:00:33 +02:00
a4e1126d45 Re-format file. 2022-07-25 18:59:57 +02:00
Pawel Lampe
0909a9adb5 Fix get_simple_path behavior in 2D, fixes #56852 2022-07-25 18:02:26 +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
e0b2f048c2 Cleaned up and added UserManagerDB to the build. 2022-07-24 16:26:23 +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
2db29ae49f Add Entity like to_dict and from_dict support to User, alongside to_json and from_json. 2022-07-24 01:42:55 +02:00
b479b6a1ab Added a new UserModule class. It can be used to easily add data to Users. 2022-07-24 01:08:56 +02:00
ae36b35436 Reimplemented UserLogoutWebPage. 2022-07-23 22:37:21 +02:00
299f714ed9 Fix memory allocation using new int HTTPSessionManager. Also small cleanups. 2022-07-23 22:37:11 +02:00
97dd727ee1 Reimplemented UserSettingsWebPage. 2022-07-23 22:22:08 +02:00
a5a327ad35 Reimplemented UserRegisterWebPage. 2022-07-23 22:08:07 +02:00
abb875f8a5 Use length() instead of size() for strings in the FormValidators. 2022-07-23 22:07:49 +02:00
c6191e1c26 Reimplemented UserLoginWebPage. 2022-07-23 20:33:10 +02:00
d0c99d0ef6 Set the user's id after creation. 2022-07-23 20:32:42 +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
eb4875de4c Added table version getters and setters to the DatabaseConnection. 2022-07-23 14:45:34 +02:00
0cac8406ec Added binds + methods to the DatabaseManager, and set it up as a singleton. 2022-07-23 13:37:24 +02:00
0c1d58f921 Cleanups to the todos, and some notes. 2022-07-23 12:25:11 +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
16fda02f48 Added the new user web page classes to the build. They still need binds, so they won't do anything at the moment. 2022-07-22 14:52:55 +02:00
3028c08e9e Cleaned up the user web nodes. 2022-07-22 14:41:51 +02:00
b6253d1a68 Duplicated UserController into different files, to break it up. 2022-07-22 13:40:22 +02:00
a94e95ce06 Cleaned up UserController. 2022-07-22 12:09:00 +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
0eba7b461f Created UserManagerDB from UserController code. It's not yet in the build. 2022-07-22 10:16:49 +02:00
8236c509c8 Added user_id property to User, and also did some improvements to it's api. 2022-07-22 10:00:07 +02:00
fa768d2474 Remove the middleware from the user controller file. 2022-07-22 09:47:24 +02:00
30e3fd8faf Fix typo. 2022-07-21 23:58:34 +02:00
cc42e1b526 Also renamed it's file. 2022-07-21 23:58:21 +02:00
7f58857334 Cleaned up and added the UserSessionSetup Middleware to the build. 2022-07-21 23:56:29 +02:00
a791c8f4b8 HTTPSession's get_int now has a default parameter. 2022-07-21 23:55:33 +02:00
129a2a830d Moved a few folder in the users module. 2022-07-21 23:32:44 +02:00
31ee15432b Notes. 2022-07-21 23:31:37 +02:00
5d260fd68d Cleanups to WebServerRequest. 2022-07-21 23:25:04 +02:00
9232d5b5bb Renamed the user middleware class. 2022-07-21 23:02:36 +02:00
10e86e1f16 Moved the UserController file. 2022-07-21 23:00:28 +02:00
c227dad81c Add the web module to the users module as a dependency. (It's only going to be optional though.) 2022-07-21 22:58:12 +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
f7cc2df683 Fix UserManagerFile. It's not that good for now, but I need a prototype UserManager implementation that can easily create save and load users. 2022-07-21 20:39:15 +02:00
d025937074 Make UserManagers register themselves. 2022-07-21 19:48:37 +02:00
a349dbd762 Fix potential crash. 2022-07-21 19:48:08 +02:00
7f03c8b429 Added a new UserManagerFile. 2022-07-21 19:33:04 +02:00
589844c827 Added an RWLock to User. 2022-07-21 18:19:40 +02:00
0ef9dc8fcf Added a few bindings to UserManagerStatic to help with creating users form the editor. 2022-07-21 18:08:52 +02:00
7989cfabc4 Removed the user parameter from the User's hash methods. 2022-07-21 17:43:35 +02:00
be68b69b65 Created a new UserManagerStatic class. 2022-07-21 17:31:14 +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
94f953494a Implement the actual addon refresh / reload logic, alongside a few smaller logic tweaks. 2022-07-17 01:22:39 +02:00
91387222ce Implement addon discovering for the plugin refresher module. 2022-07-17 00:40:08 +02:00
60a2fcf304 Added the settings dialog for the plugin refresher. 2022-07-16 23:20:43 +02:00
69f3a5229d Added a new plugin_refresher module. It's only a skeleton for now. Same idea as the godot-plugin-refresher addon, but done a bit differently. 2022-07-16 21:42:46 +02:00
4faf01a1c1 Added a readme for the tx editor. 2022-07-16 15:50:42 +02:00
c228d921e4 Fixed CSV preview. 2022-07-16 15:32:23 +02:00
00d6e0a628 Hide the search bar by default. 2022-07-16 15:16:43 +02:00
b70482d246 Reuse CodeEditor's SearchBar class for TextEditor. 2022-07-16 15:07:48 +02:00
196c136181 Removed the search and replace box from the text editor. 2022-07-16 15:00:34 +02:00
8133312970 Fix typos. 2022-07-16 00:40:09 +02:00
22b4fbb357 Reimplemented missing initialization for the classes that need it. 2022-07-16 00:36:35 +02:00
383475a650 Use better icon. 2022-07-16 00:28:36 +02:00
72edf6db9c Remove unneeded file. 2022-07-16 00:25:24 +02:00
e42ff580e4 Finished cleaning up text editor and added everything to the build. It doesn't work properly yet though. 2022-07-16 00:23:07 +02:00
5444e99213 Cleaned up the editor plugin. 2022-07-15 22:35:29 +02:00
573011b373 Also renamed classes, fixed include guards, and includes. 2022-07-15 22:13:18 +02:00
2346176cd0 Rename files in the text editor module. 2022-07-15 21:38:48 +02:00
61909cb0fa Cleaned up LastOpenedFiles. 2022-07-15 21:04:02 +02:00
8a98ebf0ed Removed the Icon Loader. 2022-07-15 19:48:25 +02:00
3f304192f4 Initial cleanup for the FileEdtitor. 2022-07-15 19:47:59 +02:00
614464725b Initial cleanup for Preview. 2022-07-15 18:48:35 +02:00
477d6942fc Initial cleanup pass on the VanillaEditor. 2022-07-15 17:09:10 +02:00
d8f28e77fd Used the gdscript to cpp converter script to turn https://github.com/Relintai/godot-engine.file-editor into a module. 2022-07-15 14:55:18 +02:00
c8579ef63f Removed yield from cscript. 2022-07-13 00:38:23 +02:00
c4edec424d Separate syntax highlighting options. 2022-07-13 00:09:59 +02:00
8611d7d9c8 Removed rpc keywords from cscript. Note that networking should still work with it using rset_config (like how it works in engine side code). 2022-07-13 00:07:10 +02:00
73ac91dc86 Fixed remaining issues and added cscript to the build. 2022-07-12 22:58:44 +02:00
6b2db83031 Change script extension. 2022-07-12 21:38:17 +02:00
90e555ebb0 Rename cscript file names. 2022-07-12 20:04:37 +02:00
e92d4e0f97 Mass rename classes in the cscript module. 2022-07-12 19:55:21 +02:00
e687fc6a4a Added a new cscript module. It's a copy of gdscript, and it's build is disabled for now. I plan to experiment with it to have a scripting language that's syntax is as close to c (c++) as possible. 2022-07-12 12:20:34 +02:00
1cee3914be Added a few todos. 2022-07-08 16:09:17 +02:00
646d0c6e7d Implemeted and added a new UserDB singleton. 2022-07-08 13:59:18 +02:00
62c895f85c Moved password related methods to the User from UserManager. 2022-07-08 10:00:54 +02:00
e0ceb9fbab Added a small note. 2022-07-08 01:36:40 +02:00
985edc6b9e Created a new UserManager class. 2022-07-08 01:30:19 +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
25e0c1097a Disable warning. 2022-07-06 22:34:07 +02:00
8712507a20 Updated sqlite, it seems like they fixed all warnings. 2022-07-06 22:23:10 +02:00
9731e52130 Removed 2 lines that I thought would work. 2022-07-06 22:22:16 +02:00
d02d86aedc Fully cleaned and added the sqlite database backend to the build. 2022-07-06 22:14:37 +02:00
2a5e0ae0f8 Ported https://github.com/godotengine/godot/pull/53443 . 2022-07-06 18:37:38 +02:00
de1e07daf4 Work on getting the sqlite module to compile. 2022-07-06 18:26:17 +02:00
07af5c285c Moved the database backends into their own modules. All of them are disabled for now. 2022-07-06 13:13:00 +02:00
8422566d28 Moved the settings classes fomr the database module to the web module. 2022-07-06 12:59:34 +02:00
14b0d60d70 Fix duplicate binds. 2022-07-06 12:53:54 +02:00
66587299a8 Added the database classes to the build. 2022-07-06 12:46:22 +02:00
6389a5714d Added multi threaded and single threaded Database base classes. 2022-07-06 10:11:17 +02:00
42501c339f Added owner support for the DatabaseConnection. 2022-07-06 09:44:02 +02:00
be6ec3ee61 Separated Database and DatabaseConnection into different files. 2022-07-06 09:33:57 +02:00
2ec4fe922f Broke up Database into 2 classes, to be able to better handle multi threading for the database systems that work better with having a connection for each thread. Haven't yet tested which backends would work better like this though. 2022-07-06 09:30:50 +02:00
b26ad4cab9 Cleaned up and added bindings for Database. 2022-07-06 09:17:49 +02:00
d5f5e9fec9 More cleanups. 2022-07-05 23:30:14 +02:00
134d94af5f Finished cleaning up QueryBuilder. 2022-07-05 23:05:07 +02:00
f9bbf772ca Work on cleaning up QueryBuilder. 2022-07-05 20:34:12 +02:00
5c1a702722 Cleaned up QueryResult. 2022-07-05 20:01:15 +02:00
614129ce2f Clenaed up table builder, and added bindings for it. I also reworked it's api a bit. I don't think anyone will implement databases using gdscript, so I did it a bit differently than usual. Also if the need arises, a subclass can be implemented that is implementable through scripting.O 2022-07-05 19:42:27 +02:00
e9938cfefa Initial database module setup. 2022-07-05 14:45:45 +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