1function getGzippedFileBytes() {
2  var file;
3  getObjectState("SERVER_ROOT", function(serverRoot) {
4    file = serverRoot.getFile("tests/dom/media/test/short.mp4.gz");
5  });
6  var fileInputStream = Components.classes[
7    "@mozilla.org/network/file-input-stream;1"
8  ].createInstance(Components.interfaces.nsIFileInputStream);
9  var binaryInputStream = Components.classes[
10    "@mozilla.org/binaryinputstream;1"
11  ].createInstance(Components.interfaces.nsIBinaryInputStream);
12  fileInputStream.init(file, -1, -1, 0);
13  binaryInputStream.setInputStream(fileInputStream);
14  return binaryInputStream.readBytes(binaryInputStream.available());
15}
16
17function handleRequest(request, response) {
18  var bytes = getGzippedFileBytes();
19  response.setHeader("Content-Length", String(bytes.length), false);
20  response.setHeader("Content-Type", "video/mp4", false);
21  response.setHeader("Access-Control-Allow-Origin", "*", false);
22  response.setHeader("Content-Encoding", "gzip", false);
23  response.setHeader("Cache-Control", "no-cache", false);
24  response.write(bytes, bytes.length);
25}
26