blob: 6e4f109068f51926c61acd9031d1bca1157d91fb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
"use strict";
let timer;
// Send a part of the file then wait for 3 second before sending the rest.
// If download isn't exempt from background timer of https-only/-first then the download
// gets cancelled before it completed.
const DELAY_MS = 3500;
function handleRequest(request, response) {
response.processAsync();
timer = Cc["@mozilla.org/timer;1"].createInstance(Ci.nsITimer);
response.setHeader("Cache-Control", "no-cache", false);
response.setHeader(
"Content-Disposition",
"attachment; filename=large-dummy-file.txt"
);
response.setHeader("Content-Type", "text/plain");
response.write("Begin the file");
timer.init(
() => {
response.write("End of file");
response.finish();
},
DELAY_MS,
Ci.nsITimer.TYPE_ONE_SHOT
);
}
|