File: serverTiming.sjs

package info (click to toggle)
firefox 147.0.3-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,683,320 kB
  • sloc: cpp: 7,607,359; javascript: 6,533,295; ansic: 3,775,223; python: 1,415,500; xml: 634,561; asm: 438,949; java: 186,241; sh: 62,752; makefile: 18,079; objc: 13,092; perl: 12,808; yacc: 4,583; cs: 3,846; pascal: 3,448; lex: 1,720; ruby: 1,003; php: 436; lisp: 258; awk: 247; sql: 66; sed: 54; csh: 10; exp: 6
file content (41 lines) | stat: -rw-r--r-- 1,200 bytes parent folder | download | duplicates (16)
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
34
35
36
37
38
39
40
41
var responseServerTiming = [
  { metric: "metric1", duration: "123.4", description: "description1" },
  { metric: "metric2", duration: "456.78", description: "description2" },
];
var trailerServerTiming = [
  { metric: "metric3", duration: "789.11", description: "description3" },
  { metric: "metric4", duration: "1112.13", description: "description4" },
];

function createServerTimingHeader(headerData) {
  var header = "";
  for (var i = 0; i < headerData.length; i++) {
    header +=
      "Server-Timing:" +
      headerData[i].metric +
      ";" +
      "dur=" +
      headerData[i].duration +
      ";" +
      "desc=" +
      headerData[i].description +
      "\r\n";
  }
  return header;
}

function handleRequest(request, response) {
  var body = "c\r\ndata reached\r\n3\r\nhej\r\n0\r\n";

  response.seizePower();
  response.write("HTTP/1.1 200 OK\r\n");
  response.write("Content-Type: text/plain\r\n");
  response.write(createServerTimingHeader(responseServerTiming));

  response.write("Transfer-Encoding: chunked\r\n");
  response.write("\r\n");
  response.write(body);
  response.write(createServerTimingHeader(trailerServerTiming));
  response.write("\r\n");
  response.finish();
}