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