netwerk/test/httpserver/TODO

Thu, 15 Jan 2015 15:59:08 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 15:59:08 +0100
branch
TOR_BUG_9701
changeset 10
ac0c01689b40
permissions
-rw-r--r--

Implement a real Private Browsing Mode condition by changing the API/ABI;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

michael@0 1 Bugs to fix:
michael@0 2 - make content-length generation not rely on .available() returning the entire
michael@0 3 size of the body stream's contents -- some sort of wrapper (but how does that
michael@0 4 work for the unscriptable method WriteSegments, which is good to support from
michael@0 5 a performance standpoint?)
michael@0 6
michael@0 7 Ideas for future improvements:
michael@0 8 - add API to disable response buffering which, when called, causes errors when
michael@0 9 you try to do anything other than write to the body stream (i.e., modify
michael@0 10 headers or status line) once you've written anything to it -- useful when
michael@0 11 storing the entire response in memory is unfeasible (e.g., you're testing
michael@0 12 >4GB download characteristics)
michael@0 13 - add an API which performs asynchronous response processing (instead of
michael@0 14 nsIHttpRequestHandler.handle, which must construct the response before control
michael@0 15 returns; |void asyncHandle(request, response)|) -- useful, and can it be done
michael@0 16 in JS?
michael@0 17 - other awesomeness?

mercurial