diff options
Diffstat (limited to 'dom/performance/tests/serverTiming.sjs')
-rw-r--r-- | dom/performance/tests/serverTiming.sjs | 32 |
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(); +} |