Thu, 15 Jan 2015 21:03:48 +0100
Integrate friendly tips from Tor colleagues to make (or not) 4.5 alpha 3;
This includes removal of overloaded (but unused) methods, and addition of
a overlooked call to DataStruct::SetData(nsISupports, uint32_t, bool.)
1 // Serve a media file without using content-range header
2 function handleRequest(request, response)
3 {
4 var file = Components.classes["@mozilla.org/file/directory_service;1"].
5 getService(Components.interfaces.nsIProperties).
6 get("CurWorkD", Components.interfaces.nsILocalFile);
7 var fis = Components.classes['@mozilla.org/network/file-input-stream;1'].
8 createInstance(Components.interfaces.nsIFileInputStream);
9 var bis = Components.classes["@mozilla.org/binaryinputstream;1"].
10 createInstance(Components.interfaces.nsIBinaryInputStream);
11 var paths = "tests/content/media/test/320x240.ogv";
12 var split = paths.split("/");
13 for(var i = 0; i < split.length; ++i) {
14 file.append(split[i]);
15 }
16 fis.init(file, -1, -1, false);
17 bis.setInputStream(fis);
18 var bytes = bis.readBytes(bis.available());
19 response.setStatusLine(request.httpVersion, 200, "Content Follows");
20 response.setHeader("Content-Type", "video/ogg", false);
21 response.write(bytes, bytes.length);
22 // Make this request async to prevent a default Content-Length from being provided.
23 response.processAsync();
24 response.finish();
25 bis.close();
26 }