diff --git a/modules/web/html/html_builder.cpp b/modules/web/html/html_builder.cpp
index 6930cb539..772763401 100644
--- a/modules/web/html/html_builder.cpp
+++ b/modules/web/html/html_builder.cpp
@@ -1,5 +1,7 @@
#include "html_builder.h"
+#include "../http/web_server_request.h"
+
HTMLTag *HTMLTag::str(const String &str) {
result += " " + str;
@@ -2573,14 +2575,12 @@ HTMLBuilder *HTMLBuilder::form_post(const String &action, const String &cls, con
return this;
}
-/*
-HTMLBuilder *HTMLBuilder::form_post(const String &action, Request *request, const String &cls, const String &id) {
+HTMLBuilder *HTMLBuilder::form_postr(const String &action, Ref request, const String &cls, const String &id) {
form_post(action, cls, id);
- csrf_token(request);
+ csrf_tokenr(request);
return this;
}
-*/
HTMLTag *HTMLBuilder::input_button() {
write_tag();
@@ -3326,11 +3326,10 @@ HTMLBuilder *HTMLBuilder::csrf_token(const String &token) {
return this;
}
-/*
-HTMLBuilder *HTMLBuilder::csrf_token(Request *request) {
+
+HTMLBuilder *HTMLBuilder::csrf_tokenr(Ref request) {
return csrf_token(request->get_csrf_token());
}
-*/
void HTMLBuilder::f() {
write_tag();
diff --git a/modules/web/html/html_builder.h b/modules/web/html/html_builder.h
index ed36e85f1..63ceb56f8 100644
--- a/modules/web/html/html_builder.h
+++ b/modules/web/html/html_builder.h
@@ -3,8 +3,11 @@
#include "core/ustring.h"
+#include "core/reference.h"
+
class Request;
class HTMLBuilder;
+class WebServerRequest;
class HTMLTag {
public:
@@ -470,7 +473,7 @@ public:
HTMLBuilder *form_get(const String &action, const String &cls = "", const String &id = "");
HTMLBuilder *form_post(const String &action, const String &cls = "", const String &id = "");
// will add a csrf token from request
- //HTMLBuilder *form_post(const String &action, Request *request, const String &cls = "", const String &id = "");
+ HTMLBuilder *form_postr(const String &action, Ref request, const String &cls = "", const String &id = "");
HTMLTag *input_button();
HTMLTag *input_checkbox();
@@ -521,7 +524,7 @@ public:
HTMLBuilder *input_hidden(const String &name, const String &value);
HTMLBuilder *csrf_token(const String &token);
- //HTMLBuilder *csrf_token(Request *request);
+ HTMLBuilder *csrf_tokenr(Ref request);
void f();
diff --git a/modules/web/html/html_builder_bind.cpp b/modules/web/html/html_builder_bind.cpp
index 784ae9d06..52b438b72 100644
--- a/modules/web/html/html_builder_bind.cpp
+++ b/modules/web/html/html_builder_bind.cpp
@@ -4,7 +4,7 @@
#include "core/method_bind_ext.gen.inc"
-//#include "web/http/request.h"
+#include "../http/web_server_request.h"
bool _HTMLTag::get_simple() const {
return simple;
@@ -2778,14 +2778,12 @@ Ref<_HTMLTag> _HTMLBuilder::form_post(const String &action, const String &cls, c
return tag;
}
-/*
-Ref<_HTMLBuilder> _HTMLBuilder::form_post(const String &action, Request *request, const String &cls, const String &id) {
+Ref<_HTMLBuilder> _HTMLBuilder::form_postr(const String &action, Ref request, const String &cls, const String &id) {
form_post(action, cls, id);
- csrf_token(request);
+ csrf_tokenr(request);
return Ref<_HTMLBuilder>(this);
}
-*/
Ref<_HTMLBuilder> _HTMLBuilder::flabel(const String &pfor, const String &plabel, const String &cls, const String &id) {
Ref<_HTMLTag> t = label();
@@ -3486,11 +3484,10 @@ Ref<_HTMLBuilder> _HTMLBuilder::csrf_token(const String &token) {
return Ref<_HTMLBuilder>(this);
}
-/*
-Ref<_HTMLBuilder> _HTMLBuilder::csrf_token(Request *request) {
+
+Ref<_HTMLBuilder> _HTMLBuilder::csrf_tokenr(Ref request) {
return csrf_token(request->get_csrf_token());
}
-*/
void _HTMLBuilder::f() {
write_tag();
@@ -3893,10 +3890,7 @@ void _HTMLBuilder::_bind_methods() {
ClassDB::bind_method(D_METHOD("form_get", "action", "cls", "id"), &_HTMLBuilder::form_get, "", "", "");
ClassDB::bind_method(D_METHOD("form_post", "action", "cls", "id"), &_HTMLBuilder::form_post, "", "", "");
-
- //ClassDB::bind_method(D_METHOD("", "name", "cls", "id"), &_HTMLBuilder::, "", "", "");
- // will add a csrf token from request
- //Ref<_HTMLBuilder> form_post(const String &action, Request *request, const String &cls = "", const String &id = "");
+ ClassDB::bind_method(D_METHOD("form_postr", "action", "request", "cls", "id"), &_HTMLBuilder::form_postr, "", "");
ClassDB::bind_method(D_METHOD("input_button", "name", "value", "cls", "id"), &_HTMLBuilder::input_button, "", "", "", "");
ClassDB::bind_method(D_METHOD("input_checkbox", "name", "value", "checked", "cls", "id"), &_HTMLBuilder::input_checkbox, "", "", false, "", "");
@@ -3924,7 +3918,7 @@ void _HTMLBuilder::_bind_methods() {
ClassDB::bind_method(D_METHOD("flabel", "pfor", "plabel", "cls", "id"), &_HTMLBuilder::flabel, "", "");
ClassDB::bind_method(D_METHOD("csrf_token", "token"), &_HTMLBuilder::csrf_token);
- //ClassDB::bind_method(D_METHOD("csrf_token", "request"), &_HTMLBuilder::csrf_token);
+ ClassDB::bind_method(D_METHOD("csrf_tokenr", "request"), &_HTMLBuilder::csrf_tokenr);
ClassDB::bind_method(D_METHOD("f"), &_HTMLBuilder::f);
diff --git a/modules/web/html/html_builder_bind.h b/modules/web/html/html_builder_bind.h
index 3b58ee0b8..a86a5f702 100644
--- a/modules/web/html/html_builder_bind.h
+++ b/modules/web/html/html_builder_bind.h
@@ -7,6 +7,7 @@
#include "core/reference.h"
class _HTMLBuilder;
+class WebServerRequest;
class _HTMLTag : public Reference {
GDCLASS(_HTMLTag, Reference)
@@ -472,7 +473,7 @@ public:
Ref<_HTMLTag> form_get(const String &action = "", const String &cls = "", const String &id = "");
Ref<_HTMLTag> form_post(const String &action = "", const String &cls = "", const String &id = "");
// will add a csrf token from request
- //Ref<_HTMLBuilder> form_post(const String &action, Request *request, const String &cls = "", const String &id = "");
+ Ref<_HTMLBuilder> form_postr(const String &action, Ref request, const String &cls = "", const String &id = "");
Ref<_HTMLTag> input_button(const String &name = "", const String &value = "", const String &cls = "", const String &id = "");
Ref<_HTMLTag> input_checkbox(const String &name = "", const String &value = "", const bool checked = false, const String &cls = "", const String &id = "");
@@ -500,7 +501,7 @@ public:
Ref<_HTMLBuilder> flabel(const String &pfor, const String &plabel, const String &cls = "", const String &id = "");
Ref<_HTMLBuilder> csrf_token(const String &token);
- //Ref<_HTMLBuilder> csrf_token(Request *request);
+ Ref<_HTMLBuilder> csrf_tokenr(Ref request);
void f();