summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Userland/Libraries/LibWeb/XHR/XMLHttpRequest.cpp4
-rw-r--r--Userland/Libraries/LibWeb/XHR/XMLHttpRequest.h2
-rw-r--r--Userland/Libraries/LibWeb/XHR/XMLHttpRequest.idl2
3 files changed, 5 insertions, 3 deletions
diff --git a/Userland/Libraries/LibWeb/XHR/XMLHttpRequest.cpp b/Userland/Libraries/LibWeb/XHR/XMLHttpRequest.cpp
index f64a58d12c..73258099aa 100644
--- a/Userland/Libraries/LibWeb/XHR/XMLHttpRequest.cpp
+++ b/Userland/Libraries/LibWeb/XHR/XMLHttpRequest.cpp
@@ -157,7 +157,7 @@ DOM::ExceptionOr<void> XMLHttpRequest::open(const String& method, const String&
}
// https://xhr.spec.whatwg.org/#dom-xmlhttprequest-send
-DOM::ExceptionOr<void> XMLHttpRequest::send()
+DOM::ExceptionOr<void> XMLHttpRequest::send(String const& body)
{
if (m_ready_state != ReadyState::Opened)
return DOM::InvalidStateError::create("XHR readyState is not OPENED");
@@ -188,6 +188,8 @@ DOM::ExceptionOr<void> XMLHttpRequest::send()
auto request = LoadRequest::create_for_url_on_page(request_url, m_window->page());
request.set_method(m_method);
+ if (!body.is_null())
+ request.set_body(body.to_byte_buffer());
for (auto& it : m_request_headers)
request.set_header(it.key, it.value);
diff --git a/Userland/Libraries/LibWeb/XHR/XMLHttpRequest.h b/Userland/Libraries/LibWeb/XHR/XMLHttpRequest.h
index d33bf48c7f..ae47e556cc 100644
--- a/Userland/Libraries/LibWeb/XHR/XMLHttpRequest.h
+++ b/Userland/Libraries/LibWeb/XHR/XMLHttpRequest.h
@@ -52,7 +52,7 @@ public:
String response_text() const;
DOM::ExceptionOr<void> open(const String& method, const String& url);
- DOM::ExceptionOr<void> send();
+ DOM::ExceptionOr<void> send(String const& body);
DOM::ExceptionOr<void> set_request_header(const String& header, const String& value);
diff --git a/Userland/Libraries/LibWeb/XHR/XMLHttpRequest.idl b/Userland/Libraries/LibWeb/XHR/XMLHttpRequest.idl
index 569b3f00b3..9e1e0ec14c 100644
--- a/Userland/Libraries/LibWeb/XHR/XMLHttpRequest.idl
+++ b/Userland/Libraries/LibWeb/XHR/XMLHttpRequest.idl
@@ -14,7 +14,7 @@ interface XMLHttpRequest : XMLHttpRequestEventTarget {
undefined open(DOMString method, DOMString url);
undefined setRequestHeader(DOMString name, DOMString value);
- undefined send();
+ undefined send(optional USVString body = {});
ByteString? getResponseHeader(ByteString name);
ByteString getAllResponseHeaders();