diff options
Diffstat (limited to 'devtools/client/netmonitor/test/sjs_timings-test-server.sjs')
-rw-r--r-- | devtools/client/netmonitor/test/sjs_timings-test-server.sjs | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/devtools/client/netmonitor/test/sjs_timings-test-server.sjs b/devtools/client/netmonitor/test/sjs_timings-test-server.sjs new file mode 100644 index 0000000000..6446461039 --- /dev/null +++ b/devtools/client/netmonitor/test/sjs_timings-test-server.sjs @@ -0,0 +1,45 @@ +/* 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; +} |