mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-26 19:55:39 +00:00
5c3bbc5b04
Adds a testcase corresponding to what's happening here; we have a gzipped file with a Content-Length which is the length of the compressed stream. MozReview-Commit-ID: 8SDayegP11W --HG-- extra : rebase_source : 1ae21d0f202e24f6e0236d3f2d2363ab930b0c2e
30 lines
1.1 KiB
JavaScript
30 lines
1.1 KiB
JavaScript
const { classes: Cc, interfaces: Ci } = Components;
|
|
|
|
function getGzippedFileBytes()
|
|
{
|
|
var file;
|
|
getObjectState("SERVER_ROOT", function(serverRoot) {
|
|
file = serverRoot.getFile("tests/dom/media/test/short.mp4.gz");
|
|
});
|
|
var fileInputStream =
|
|
Components.classes['@mozilla.org/network/file-input-stream;1']
|
|
.createInstance(Components.interfaces.nsIFileInputStream);
|
|
var binaryInputStream =
|
|
Components.classes["@mozilla.org/binaryinputstream;1"]
|
|
.createInstance(Components.interfaces.nsIBinaryInputStream);
|
|
fileInputStream.init(file, -1, -1, 0);
|
|
binaryInputStream.setInputStream(fileInputStream);
|
|
return binaryInputStream.readBytes(binaryInputStream.available());
|
|
}
|
|
|
|
function handleRequest(request, response)
|
|
{
|
|
var bytes = getGzippedFileBytes();
|
|
response.setHeader("Content-Length", String(bytes.length), false);
|
|
response.setHeader("Content-Type", "video/mp4", false);
|
|
response.setHeader("Access-Control-Allow-Origin", "*", false);
|
|
response.setHeader("Content-Encoding", "gzip", false);
|
|
response.setHeader("Cache-Control", "no-cache", false);
|
|
response.write(bytes, bytes.length);
|
|
}
|