summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAliaksandr Kalenik <kalenik.aliaksandr@gmail.com>2023-01-01 16:14:49 +0100
committerAndreas Kling <kling@serenityos.org>2023-04-25 12:54:01 +0200
commit5446c7adc3ba0aa00520807fde63c53b2dad19f4 (patch)
treecbf15400dfcd8f03271201ede3ce71fcd2fada07
parent50af15e6b8e5ca69052e34d1fbe1aed3831f1d89 (diff)
downloadserenity-5446c7adc3ba0aa00520807fde63c53b2dad19f4.zip
LibWeb: Add HTML::POSTResource
This is "POST resource" from the HTML spec.
-rw-r--r--Userland/Libraries/LibWeb/Forward.h1
-rw-r--r--Userland/Libraries/LibWeb/HTML/POSTResource.h28
2 files changed, 29 insertions, 0 deletions
diff --git a/Userland/Libraries/LibWeb/Forward.h b/Userland/Libraries/LibWeb/Forward.h
index 9a611db92c..92ad3082ca 100644
--- a/Userland/Libraries/LibWeb/Forward.h
+++ b/Userland/Libraries/LibWeb/Forward.h
@@ -407,6 +407,7 @@ struct CrossOriginOpenerPolicyEnforcementResult;
struct Environment;
struct EnvironmentSettingsObject;
struct NavigationParams;
+struct POSTResource;
struct PolicyContainer;
struct SandboxingFlagSet;
struct SerializedFormData;
diff --git a/Userland/Libraries/LibWeb/HTML/POSTResource.h b/Userland/Libraries/LibWeb/HTML/POSTResource.h
new file mode 100644
index 0000000000..55807644bd
--- /dev/null
+++ b/Userland/Libraries/LibWeb/HTML/POSTResource.h
@@ -0,0 +1,28 @@
+/*
+ * Copyright (c) 2022, Andreas Kling <kling@serenityos.org>
+ *
+ * SPDX-License-Identifier: BSD-2-Clause
+ */
+
+#pragma once
+
+#include <AK/ByteBuffer.h>
+
+namespace Web::HTML {
+
+// https://html.spec.whatwg.org/multipage/browsing-the-web.html#post-resource
+struct POSTResource {
+ // FIXME: https://html.spec.whatwg.org/multipage/browsing-the-web.html#post-resource-request-body
+
+ enum class RequestContentType {
+ ApplicationXWWWFormUrlencoded,
+ MultipartFormData,
+ TextPlain,
+ };
+
+ // https://html.spec.whatwg.org/multipage/browsing-the-web.html#post-resource-request-content-type
+ // A request content-type, which is `application/x-www-form-urlencoded`, `multipart/form-data`, or `text/plain`.
+ RequestContentType request_content_type {};
+};
+
+}