diff options
Diffstat (limited to 'devtools/client/webconsole/test/browser/sjs_slow-response-test-server.sjs')
-rw-r--r-- | devtools/client/webconsole/test/browser/sjs_slow-response-test-server.sjs | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/devtools/client/webconsole/test/browser/sjs_slow-response-test-server.sjs b/devtools/client/webconsole/test/browser/sjs_slow-response-test-server.sjs new file mode 100644 index 0000000000..d7b85efad4 --- /dev/null +++ b/devtools/client/webconsole/test/browser/sjs_slow-response-test-server.sjs @@ -0,0 +1,35 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ +"use strict"; + +function handleRequest(request, response) { + response.processAsync(); + + const params = new Map( + request.queryString + .replace("?", "") + .split("&") + .map(s => s.split("=")) + ); + const delay = params.has("delay") ? params.get("delay") : 300; + const status = params.has("status") ? params.get("status") : 200; + + let timer = Cc["@mozilla.org/timer;1"].createInstance(Ci.nsITimer); + timer.initWithCallback( + () => { + // to avoid garbage collection + timer = null; + response.setStatusLine(request.httpVersion, status, "OK"); + response.setHeader("Content-Type", "text/plain", false); + response.setHeader( + "Set-Cookie", + "foo=bar; Max-Age=10; HttpOnly; SameSite=Lax", + true + ); + response.write("Some response data"); + response.finish(); + }, + delay, + Ci.nsITimer.TYPE_ONE_SHOT + ); +} |