Revising nsIChannel to allow for overlapped i/o. This consists of three parts:
1. Factoring nsIChannel into a protocol specific part, the nsIChannel, and a socket specific, the nsITransport.
2. Derive the nsIChannel from a nsIRequest.
2. Changes the notification system from necko and the URILoader to pass the nsIRequest interface instead of nsIChannel interface.
This goal stems from wanting to be able to have active AsyncRead and AsyncWrite operations on nsSocketTransport.
This is desired because it would greatly simplify the task of maintaining persistent/reusable socket connections
for FTP, HTTP, and Imap (and potentially other protocols). The problem with the existing nsIChannel interface is
that it does not allow one to selectively suspend just one of the read or write operations while keeping the other active.
r=darin@netscape.comsr=rpotts@netscape.com
1. Factoring nsIChannel into a protocol specific part, the nsIChannel, and a socket specific, the nsITransport.
2. Derive the nsIChannel from a nsIRequest.
2. Changes the notification system from necko and the URILoader to pass the nsIRequest interface instead of nsIChannel interface.
This goal stems from wanting to be able to have active AsyncRead and AsyncWrite operations on nsSocketTransport.
This is desired because it would greatly simplify the task of maintaining persistent/reusable socket connections
for FTP, HTTP, and Imap (and potentially other protocols). The problem with the existing nsIChannel interface is
that it does not allow one to selectively suspend just one of the read or write operations while keeping the other active.
The full details of the change on written up in the netlib newsgroup.
r=darin@netscape.comsr=rpotts@netscape.com
Fixed bug 32560. Added AsyncWrite implementation for HTTP.
Fixed bug 33842. Some of the earliar code that ruslan had landed broke the status updating for proxy cases.
Fixed bug 36602. Added an api to add (and remove) entries to the "no proxy for" array. Also changed the array to be constructed once (and hence parsed once) instead on each call to ExamineForProxy.
Part fix for bug 31174. Added HTTPS proxy settings.
And finally also un"ruslan"ized the HTTP code :)
memory leak of socket transports during pipelined request, add timeout
setters on socket transport, add a restriction on the number of keep-alive
connections.
Make prefs reader more intelligent. Don't cache pages with security info
for now to let daugh to get through his bugs; Make proxy.keep-alive/
proxy.pipelining to be prefs as well; p/r=warren
can now be turned on (network.http.version=1.1); network.http.keep-alive can also
be used, however not recommended (1.1 pref will automatically enable keepa-alive).
r=warren,gagan
bug 1582 - HTTP Referer header problem.
This is now resolved with a preference (network.sendRefererHeader)
If set to 0 no referrer header is sent (ever) If set to 1 the
referrer header is sent only in cases of user link-clicks and if
set to 2 is sent from image requests as well.
bug 17158 - No Proxies For wasn't implemented.
This was not being read correctly and I also moved and cleaned up
the parsing function to nsProtocolProxyService (thereby also
killing bug 27728)
bug 24642 - http://www.win98central.com/#437 was crashing.
bug 26686 - crash in nsHTTPRequest destructor.
Both of these crashes were because of the nsHTTPRequest being
unconditionally released in the destructor of nsHTTPChannel. Although the main problem remains, I have made it a non-crasher now.
bug 27844 - HTTP breaks when only using FTP proxy.
This was happening because we were not resetting values of the
proxy when they are removed from the preference pane.
accessors and modifiers. Channels may now override the proxy setting
from the HTTP handler. r=valeski
Fixed bug 24329. Made mProxyAuthList in nsAuthEngine to keep the list of proxy authentications. Logout now clears both proxy and basic auths. r=rjc
Fixed bug 26149. Authenticate now aborts only if the user doesn't click cancel on the PromptUserPass dialog. Removed the unnecessary nsIChannel* parameter on Authenticate. r=rjc
Fixed bug 24304. We now register a callback for proxy preferences. r=rjc
Fixed bug 17158. We now honor "network.proxy.no_proxies_on" preference to diable proxy activity on specified host or domain. We still need a fix for 27141 to read and write this pref correctly. r=rjc
Fixed bug 16442. Referer is only added if its an http URI. r=rjc