1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/browser/devtools/netmonitor/test/sjs_status-codes-test-server.sjs Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,37 @@ 1.4 +/* Any copyright is dedicated to the Public Domain. 1.5 + http://creativecommons.org/publicdomain/zero/1.0/ */ 1.6 + 1.7 +const { classes: Cc, interfaces: Ci } = Components; 1.8 + 1.9 +function handleRequest(request, response) { 1.10 + response.processAsync(); 1.11 + 1.12 + let params = request.queryString.split("&"); 1.13 + let status = params.filter((s) => s.contains("sts="))[0].split("=")[1]; 1.14 + 1.15 + let timer = Cc["@mozilla.org/timer;1"].createInstance(Ci.nsITimer); 1.16 + timer.initWithCallback(() => { 1.17 + // to avoid garbage collection 1.18 + timer = null; 1.19 + switch (status) { 1.20 + case "100": 1.21 + response.setStatusLine(request.httpVersion, 101, "Switching Protocols"); 1.22 + break; 1.23 + case "200": 1.24 + response.setStatusLine(request.httpVersion, 202, "Created"); 1.25 + break; 1.26 + case "300": 1.27 + response.setStatusLine(request.httpVersion, 303, "See Other"); 1.28 + break; 1.29 + case "400": 1.30 + response.setStatusLine(request.httpVersion, 404, "Not Found"); 1.31 + break; 1.32 + case "500": 1.33 + response.setStatusLine(request.httpVersion, 501, "Not Implemented"); 1.34 + break; 1.35 + } 1.36 + response.setHeader("Content-Type", "text/plain; charset=utf-8", false); 1.37 + response.write("Hello status code " + status + "!"); 1.38 + response.finish(); 1.39 + }, 10, Ci.nsITimer.TYPE_ONE_SHOT); // Make sure this request takes a few ms. 1.40 +}