forked from mirrors/gecko-dev
		
	 91dde27e0c
			
		
	
	
		91dde27e0c
		
	
	
	
	
		
			
			Test steps: 1. Create a XHR to get serverTiming.sjs. 2. Add Server-Timing headers in serverTiming.sjs. 3. Check if the value from PerformanceResourceTiming is correct. MozReview-Commit-ID: KOQhoFQv4fy --HG-- extra : rebase_source : a0f5bde872ca9e066764d90ab80d7848988f37a8
		
			
				
	
	
		
			32 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
 | |
| 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();
 | |
| }
 |