|
1 function handleRequest(request, response) |
|
2 { |
|
3 var file = Components.classes["@mozilla.org/file/directory_service;1"]. |
|
4 getService(Components.interfaces.nsIProperties). |
|
5 get("CurWorkD", Components.interfaces.nsILocalFile); |
|
6 var fis = Components.classes['@mozilla.org/network/file-input-stream;1']. |
|
7 createInstance(Components.interfaces.nsIFileInputStream); |
|
8 var bis = Components.classes["@mozilla.org/binaryinputstream;1"]. |
|
9 createInstance(Components.interfaces.nsIBinaryInputStream); |
|
10 var paths = "tests/content/media/test/320x240.ogv"; |
|
11 var split = paths.split("/"); |
|
12 for(var i = 0; i < split.length; ++i) { |
|
13 file.append(split[i]); |
|
14 } |
|
15 fis.init(file, -1, -1, false); |
|
16 bis.setInputStream(fis); |
|
17 var bytes = bis.readBytes(bis.available()); |
|
18 response.setStatusLine(request.httpVersion, 200, "Content Follows"); |
|
19 response.setHeader("Content-Duration", "-5", false); |
|
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 } |