summaryrefslogtreecommitdiffstats
path: root/dom/performance/tests/serverTiming.sjs
diff options
context:
space:
mode:
Diffstat (limited to 'dom/performance/tests/serverTiming.sjs')
-rw-r--r--dom/performance/tests/serverTiming.sjs32
1 files changed, 32 insertions, 0 deletions
diff --git a/dom/performance/tests/serverTiming.sjs b/dom/performance/tests/serverTiming.sjs
new file mode 100644
index 0000000000..73028a004d
--- /dev/null
+++ b/dom/performance/tests/serverTiming.sjs
@@ -0,0 +1,32 @@
+
+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();
+}