summaryrefslogtreecommitdiffstats
path: root/devtools/client/netmonitor/test/html_post-data-test-page.html
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/client/netmonitor/test/html_post-data-test-page.html')
-rw-r--r--devtools/client/netmonitor/test/html_post-data-test-page.html82
1 files changed, 82 insertions, 0 deletions
diff --git a/devtools/client/netmonitor/test/html_post-data-test-page.html b/devtools/client/netmonitor/test/html_post-data-test-page.html
new file mode 100644
index 0000000000..61a77bcbab
--- /dev/null
+++ b/devtools/client/netmonitor/test/html_post-data-test-page.html
@@ -0,0 +1,82 @@
+<!-- Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ -->
+<!doctype html>
+
+<html>
+ <head>
+ <meta charset="utf-8"/>
+ <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
+ <meta http-equiv="Pragma" content="no-cache" />
+ <meta http-equiv="Expires" content="0" />
+ <title>Network Monitor test page</title>
+ <style>
+ input {
+ display: block;
+ margin: 12px;
+ }
+ </style>
+ </head>
+
+ <body>
+ <p>POST data test</p>
+ <form enctype="multipart/form-data" method="post" name="form-name">
+ <input type="text" name="text" placeholder="text" value="Some text..."/>
+ <input type="email" name="email" placeholder="email"/>
+ <input type="range" name="range" value="42"/>
+ <input type="button" value="Post me!" onclick="window.form()">
+ </form>
+
+ <script type="text/javascript">
+ /* exported performRequests */
+ "use strict";
+
+ function post(address, message) {
+ return new Promise(resolve => {
+ const xhr = new XMLHttpRequest();
+ xhr.open("POST", address, true);
+ xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
+
+ let data = "";
+ for (const i in message) {
+ data += "&" + i + "=" + message[i];
+ }
+
+ xhr.onreadystatechange = function() {
+ if (this.readyState == this.DONE) {
+ resolve();
+ }
+ };
+ xhr.send(data);
+ });
+ }
+
+ function form(address, formName) {
+ return new Promise(resolve => {
+ const formData = new FormData(document.forms.namedItem(formName));
+ formData.append("Custom field", "Extra data");
+
+ const xhr = new XMLHttpRequest();
+ xhr.open("POST", address, true);
+ xhr.setRequestHeader("custom-header-xxx", "custom-value-xxx");
+
+ xhr.onreadystatechange = function() {
+ if (this.readyState == this.DONE) {
+ resolve();
+ }
+ };
+ xhr.send(formData);
+ });
+ }
+
+ async function performRequests() {
+ const url = "sjs_simple-test-server.sjs";
+ const url1 = url + "?foo=bar&baz=42&type=urlencoded";
+ const url2 = url + "?foo=bar&baz=42&type=multipart";
+
+ await post(url1, { foo: "bar", baz: 123 });
+ await form(url2, "form-name");
+ }
+ </script>
+ </body>
+
+</html>