1
0
Fork 0
firefox/devtools/client/netmonitor/test/sjs_timings-test-server.sjs
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

45 lines
1.3 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
const trailerServerTiming = [
{ metric: "metric3", duration: "99789.11", description: "time3" },
{ metric: "metric4", duration: "1112.13", description: "time4" },
];
const responseServerTiming = [
{ metric: "metric1", duration: "123.4", description: "time1" },
{ metric: "metric2", duration: "0", description: "time2" },
];
function handleRequest(request, response) {
const 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();
}
function createServerTimingHeader(headerData) {
let header = "";
for (let i = 0; i < headerData.length; i++) {
header +=
"Server-Timing: " +
headerData[i].metric +
";" +
"dur=" +
headerData[i].duration +
";" +
"desc=" +
headerData[i].description +
"\r\n";
}
return header;
}