summaryrefslogtreecommitdiffstats
path: root/netwerk/test/browser/early_hint_preconnect_html.sjs
blob: 02f832d28ca2040472e6949deb63658cab372db6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
"use strict";

function handleRequest(request, response) {
  Cu.importGlobalProperties(["URLSearchParams"]);
  let qs = new URLSearchParams(request.queryString);
  let href = qs.get("href");
  let crossOrigin = qs.get("crossOrigin");

  // write to raw socket
  response.seizePower();

  response.write("HTTP/1.1 103 Early Hint\r\n");
  response.write(
    `Link: <${href}>; rel=preconnect; crossOrigin=${crossOrigin}\r\n`
  );
  response.write("\r\n");

  let body = `<!DOCTYPE html>
      <html>
      <body>
      <h1>Test rel=preconnect<h1>
      </body>
      </html>`;

  response.write("HTTP/1.1 200 OK\r\n");
  response.write("Content-Type: text/html;charset=utf-8\r\n");
  response.write("Cache-Control: no-cache\r\n");
  response.write(`Content-Length: ${body.length}\r\n`);
  response.write("\r\n");
  response.write(body);

  response.finish();
}