mirror of
https://github.com/Relintai/pandemonium_engine.git
synced 2025-04-07 12:31:49 +02:00
Added a new RedirectWebPage WebNode.
This commit is contained in:
parent
16fda02f48
commit
ed92564261
@ -59,6 +59,8 @@ sources = [
|
|||||||
"nodes/paged_article/paged_article.cpp",
|
"nodes/paged_article/paged_article.cpp",
|
||||||
"nodes/paged_article/paged_articles.cpp",
|
"nodes/paged_article/paged_articles.cpp",
|
||||||
#"nodes/paged_article/paged_articles_md_index.cpp",
|
#"nodes/paged_article/paged_articles_md_index.cpp",
|
||||||
|
|
||||||
|
"nodes/redirect/redirect_web_page.cpp",
|
||||||
]
|
]
|
||||||
|
|
||||||
if ARGUMENTS.get('custom_modules_shared', 'no') == 'yes':
|
if ARGUMENTS.get('custom_modules_shared', 'no') == 'yes':
|
||||||
|
@ -74,6 +74,8 @@ def get_doc_classes():
|
|||||||
"PagedArticle",
|
"PagedArticle",
|
||||||
"PagedArticles",
|
"PagedArticles",
|
||||||
"PagedArticlesMDIndex",
|
"PagedArticlesMDIndex",
|
||||||
|
|
||||||
|
"RedirectWebPage",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
40
modules/web/nodes/redirect/redirect_web_page.cpp
Normal file
40
modules/web/nodes/redirect/redirect_web_page.cpp
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
#include "redirect_web_page.h"
|
||||||
|
|
||||||
|
#include "../../http/http_server_enums.h"
|
||||||
|
#include "../../http/web_server_request.h"
|
||||||
|
#include "core/os/file_access.h"
|
||||||
|
|
||||||
|
String RedirectWebPage::get_redirect_path() {
|
||||||
|
return _redirect_path;
|
||||||
|
}
|
||||||
|
void RedirectWebPage::set_redirect_path(const String &val) {
|
||||||
|
_redirect_path = val;
|
||||||
|
}
|
||||||
|
|
||||||
|
int RedirectWebPage::get_code() {
|
||||||
|
return _code;
|
||||||
|
}
|
||||||
|
void RedirectWebPage::set_code(const int val) {
|
||||||
|
_code = val;
|
||||||
|
}
|
||||||
|
|
||||||
|
void RedirectWebPage::_handle_request(Ref<WebServerRequest> request) {
|
||||||
|
request->send_redirect(_redirect_path, static_cast<HTTPServerEnums::HTTPStatusCode>(_code));
|
||||||
|
}
|
||||||
|
|
||||||
|
RedirectWebPage::RedirectWebPage() {
|
||||||
|
_code = 302;
|
||||||
|
}
|
||||||
|
|
||||||
|
RedirectWebPage::~RedirectWebPage() {
|
||||||
|
}
|
||||||
|
|
||||||
|
void RedirectWebPage::_bind_methods() {
|
||||||
|
ClassDB::bind_method(D_METHOD("get_redirect_path"), &RedirectWebPage::get_redirect_path);
|
||||||
|
ClassDB::bind_method(D_METHOD("set_redirect_path", "val"), &RedirectWebPage::set_redirect_path);
|
||||||
|
ADD_PROPERTY(PropertyInfo(Variant::STRING, "redirect_path"), "set_redirect_path", "get_redirect_path");
|
||||||
|
|
||||||
|
ClassDB::bind_method(D_METHOD("get_code"), &RedirectWebPage::get_code);
|
||||||
|
ClassDB::bind_method(D_METHOD("set_code", "val"), &RedirectWebPage::set_code);
|
||||||
|
ADD_PROPERTY(PropertyInfo(Variant::INT, "code"), "set_code", "get_code");
|
||||||
|
}
|
32
modules/web/nodes/redirect/redirect_web_page.h
Normal file
32
modules/web/nodes/redirect/redirect_web_page.h
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
#ifndef REDIRECT_WEB_PAGE_H
|
||||||
|
#define REDIRECT_WEB_PAGE_H
|
||||||
|
|
||||||
|
#include "core/ustring.h"
|
||||||
|
|
||||||
|
#include "../../http/web_node.h"
|
||||||
|
|
||||||
|
class WebServerRequest;
|
||||||
|
|
||||||
|
class RedirectWebPage : public WebNode {
|
||||||
|
GDCLASS(RedirectWebPage, WebNode);
|
||||||
|
|
||||||
|
public:
|
||||||
|
String get_redirect_path();
|
||||||
|
void set_redirect_path(const String &val);
|
||||||
|
|
||||||
|
int get_code();
|
||||||
|
void set_code(const int val);
|
||||||
|
|
||||||
|
void _handle_request(Ref<WebServerRequest> request);
|
||||||
|
|
||||||
|
RedirectWebPage();
|
||||||
|
~RedirectWebPage();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
static void _bind_methods();
|
||||||
|
|
||||||
|
String _redirect_path;
|
||||||
|
int _code;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
@ -60,6 +60,8 @@ SOFTWARE.
|
|||||||
#include "nodes/paged_article/paged_articles.h"
|
#include "nodes/paged_article/paged_articles.h"
|
||||||
//#include "nodes/paged_article/paged_articles_md_index.h"
|
//#include "nodes/paged_article/paged_articles_md_index.h"
|
||||||
|
|
||||||
|
#include "nodes/redirect/redirect_web_page.h"
|
||||||
|
|
||||||
void register_web_types() {
|
void register_web_types() {
|
||||||
ClassDB::register_class<_HTMLBuilder>();
|
ClassDB::register_class<_HTMLBuilder>();
|
||||||
ClassDB::register_class<_HTMLTag>();
|
ClassDB::register_class<_HTMLTag>();
|
||||||
@ -122,6 +124,8 @@ void register_web_types() {
|
|||||||
ClassDB::register_class<PagedArticle>();
|
ClassDB::register_class<PagedArticle>();
|
||||||
ClassDB::register_class<PagedArticles>();
|
ClassDB::register_class<PagedArticles>();
|
||||||
//ClassDB::register_class<PagedArticlesMDIndex>();
|
//ClassDB::register_class<PagedArticlesMDIndex>();
|
||||||
|
|
||||||
|
ClassDB::register_class<RedirectWebPage>();
|
||||||
}
|
}
|
||||||
|
|
||||||
void unregister_web_types() {
|
void unregister_web_types() {
|
||||||
|
Loading…
Reference in New Issue
Block a user