summaryrefslogtreecommitdiffstats
path: root/netwerk/test/browser/early_hint_redirect_html.sjs
diff options
context:
space:
mode:
Diffstat (limited to 'netwerk/test/browser/early_hint_redirect_html.sjs')
-rw-r--r--netwerk/test/browser/early_hint_redirect_html.sjs25
1 files changed, 25 insertions, 0 deletions
diff --git a/netwerk/test/browser/early_hint_redirect_html.sjs b/netwerk/test/browser/early_hint_redirect_html.sjs
new file mode 100644
index 0000000000..2cda0b90f7
--- /dev/null
+++ b/netwerk/test/browser/early_hint_redirect_html.sjs
@@ -0,0 +1,25 @@
+"use strict";
+
+// usage via url parameters:
+// - link: if set sends a link header with the given link value as an early hint repsonse
+// - location: sets destination of 301 response
+
+function handleRequest(request, response) {
+ Cu.importGlobalProperties(["URLSearchParams"]);
+ let qs = new URLSearchParams(request.queryString);
+ let link = qs.get("link");
+ let location = qs.get("location");
+
+ // write to raw socket
+ response.seizePower();
+ if (link != undefined) {
+ response.write("HTTP/1.1 103 Early Hint\r\n");
+ response.write(`Link: ${link}\r\n`);
+ response.write("\r\n");
+ }
+
+ response.write("HTTP/1.1 307 Temporary Redirect\r\n");
+ response.write(`Location: ${location}\r\n`);
+ response.write("\r\n");
+ response.finish();
+}