Commit Graph

257 Commits

Author SHA1 Message Date
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
cfe4279709 Fix double includes. 2022-06-27 15:42:11 +02:00
30900ebfb5 Skip evlauating special dist (like ., ..) in FileCache. 2022-06-27 15:04:44 +02:00
844dc44f24 More fixes, and added all of the cleanued up classes to the build. 2022-06-27 14:59:09 +02:00
5d3954bceb Fix a few issues with binds. 2022-06-27 14:23:07 +02:00
f819383012 Smaller cleanups and improvements. 2022-06-27 14:16:23 +02:00
90c0a9937b Renamed SessionManager to HTTPSessionManager. 2022-06-27 13:56:34 +02:00
c530aa2c41 Bindings, and an another round of cleanups for WebRoot. 2022-06-27 13:52:33 +02:00
3d9e615a51 WebServerMiddleware now inherit from Resource. 2022-06-27 13:51:55 +02:00
3644840a8e Added FileCache to the build. 2022-06-27 12:28:36 +02:00
663cd9d3a2 Added bindings to FileCache, also smaller tweaks. 2022-06-27 12:26:57 +02:00
3c78c29c17 Alos cleaned up FileCache. 2022-06-27 01:31:05 +02:00
ba1ea3c62a Cleaned up WebRoot aswell. 2022-06-27 01:15:01 +02:00
7aa6798ab7 Cleaned up WebNode. 2022-06-27 01:03:01 +02:00
633acfcd54 Cleaned up WebServer. 2022-06-26 21:34:29 +02:00
47ee34044a More cleanups to the csrf token middleware. 2022-06-26 20:54:26 +02:00
c3458b80bc Cleaned up the SessionManager. 2022-06-26 20:53:54 +02:00
da266fbea2 Cleaned up HTTPSession. 2022-06-26 20:53:39 +02:00
0b0d5e3657 Cleanup / bindings for Middleware, and CSRFToken. 2022-06-26 19:43:31 +02:00
9ce119a5ab WebServerRequest cleanup + bindings. 2022-06-26 19:25:57 +02:00
19cd0fe4e2 Cleaned up WebPermission. 2022-06-26 17:23:40 +02:00
a92f8dd5c0 Added bindings for WebServerCookie and adde dit to the build. 2022-06-26 17:03:06 +02:00
09ef29804e Added a class for http server's enums, and added it to the build. 2022-06-26 16:09:55 +02:00
b1283a7571 Renamed http_enums.h. 2022-06-26 15:09:55 +02:00
544863b923 Class renames. 2022-06-26 15:00:25 +02:00
e6d45eeb40 Renamed more files in the web module. 2022-06-26 11:13:34 +02:00
6b29462503 Removed RequestPool. 2022-06-26 11:09:36 +02:00
8211115346 Renamed Request to WebServerRequest. 2022-06-26 11:07:45 +02:00
50faba808b Comment. 2022-06-26 03:37:36 +02:00
e69abb36fc Created bindings for HTMLBuilder, and added the module to the build. 2022-06-25 20:15:51 +02:00