26 lines
783 B
JavaScript
26 lines
783 B
JavaScript
"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
|
|
);
|
|
}
|