summaryrefslogtreecommitdiffstats
path: root/net/http
Commit message (Collapse)AuthorAgeFilesLines
* Re-order constructor order to avoid warning on mac build (that causes error).ericroman@google.com2008-09-291-5/+5
| | | | | | | | TBR=darin@chromium.org Review URL: http://codereview.chromium.org/4332 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2681 0039d316-1c4b-4281-b951-d872f2087c98
* Style refactoring to make MockRead initializers more readable.ericroman@google.com2008-09-291-63/+70
| | | | | | Review URL: http://codereview.chromium.org/5026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2679 0039d316-1c4b-4281-b951-d872f2087c98
* Get rid of "using std::string" in http_response_headers.cc.ericroman@google.com2008-09-291-84/+85
| | | | | | Review URL: http://codereview.chromium.org/4316 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2666 0039d316-1c4b-4281-b951-d872f2087c98
* Add the auth unit-tests to SConscript and .pbxprojericroman@google.com2008-09-273-4/+4
| | | | | | Review URL: http://codereview.chromium.org/4315 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2660 0039d316-1c4b-4281-b951-d872f2087c98
* Initial stab at http authentication (basic + digest) in new http stack.ericroman@google.com2008-09-2717-12/+1588
| | | | | | | | | | | | | | | | | | General design: - class HttpAuth -- utility class for http-auth logic. - class HttpAuth::ChallengeTokenizer -- parsing of www-Authenticate headers. - class HttpAuthHandler -- base class for authentication schemes (inspired by nsIHttpAuthenticator) - class HttpAuthHandlerBasic : HttpAuthHandler -- logic for basic auth. - class HttpAuthHandlerDigest : HttpAuthHandler -- logic for digest auth. - The auth integration in HttpNetworkTransaction mimics that of HttpTransactionWinHttp: + HttpNetworkTransaction::ApplyAuth() -- set the authorization headers. + HttpNetworkTransaction::PopulateAuthChallenge() -- process the challenges. BUG=2346 Review URL: http://codereview.chromium.org/4063 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2658 0039d316-1c4b-4281-b951-d872f2087c98
* Add positive and negative test cases for whether wewtc@google.com2008-09-261-10/+86
| | | | | | | | | | | should resend a request when we read nothing or get a read failure. R=darin,eroman BUG=2489 Review URL: http://codereview.chromium.org/4291 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2635 0039d316-1c4b-4281-b951-d872f2087c98
* If we read nothing (EOF) after sending a request on awtc@google.com2008-09-252-11/+28
| | | | | | | | | | | | | | | | persistent connection, it also indicates that the server closed the connection before receiving the request, and we should resend the request on a new connection. I refactored the main code of HandleIOError into a new ShouldResendRequest method so that I can reuse it to handle the read-nothing case. R=darin BUG=2489 Review URL: http://codereview.chromium.org/4264 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2613 0039d316-1c4b-4281-b951-d872f2087c98
* Provide autorelease pool management on the Mac in all types of message pumps.mark@chromium.org2008-09-252-2/+2
| | | | | | | Fix a few unit tests to use autorelease pools as needed. Review URL: http://codereview.chromium.org/3805 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2603 0039d316-1c4b-4281-b951-d872f2087c98
* add http layer and unit tests to mac build. stub out file uploading in ↵pinkerton@google.com2008-09-254-21/+16
| | | | | | | | upload_data_stream until we have a common file wrapper. Review URL: http://codereview.chromium.org/4090 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2599 0039d316-1c4b-4281-b951-d872f2087c98
* Apply minor tweaks to ScopedHostMapper per review feedback.darin@chromium.org2008-09-241-2/+5
| | | | | | | | R=wtc Review URL: http://codereview.chromium.org/4253 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2557 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for mock DNS queries. This allows us to eliminatedarin@google.com2008-09-241-0/+9
| | | | | | | | | | | | | | flaky DNS queries from the unit tests. Note: some unit tests still connect to www.google.com. My plan is to resolve those in a subsequent CL. R=wtc BUG=2635 Review URL: http://codereview.chromium.org/4022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2545 0039d316-1c4b-4281-b951-d872f2087c98
* Fix support for 204 responses that lack an explicit EOF.darin@google.com2008-09-232-14/+29
| | | | | | | | | BUG=2347 R=wtc Review URL: http://codereview.chromium.org/3085 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2533 0039d316-1c4b-4281-b951-d872f2087c98
* HttpVersion had to be changed because glibc defines macros named "major" and ↵maruel@google.com2008-09-232-20/+19
| | | | | | | | | | | "minor" which was causing compilation problems. Patch contributed by James Vega <vega.james@gmail.com>. Note: Took the leasure to make some globals const. Review URL: http://codereview.chromium.org/4217 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2491 0039d316-1c4b-4281-b951-d872f2087c98
* Stubbing out the network transaction until more of that pipeline works. ↵pinkerton@google.com2008-09-231-0/+9
| | | | | | | | Allows testShell to link. Review URL: http://codereview.chromium.org/4216 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2489 0039d316-1c4b-4281-b951-d872f2087c98
* Some platform cleanup to net/deanm@google.com2008-09-234-39/+20
| | | | | | Patch from Pawel Hajdan Jr. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2485 0039d316-1c4b-4281-b951-d872f2087c98
* * Change output of trace_event log to JSON to enable easier integration with ↵erikkay@google.com2008-09-181-0/+19
| | | | | | | | | | | | visualization UI. * Simple (manual) trace visualizer with some sample data. * a few more trace events * add process_util function for current process handle Review URL: http://codereview.chromium.org/3086 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2381 0039d316-1c4b-4281-b951-d872f2087c98
* First cut at SSL certificate error handling. Mapwtc@google.com2008-09-172-2/+50
| | | | | | | | | | | | | security error codes to our network error codes and pass the certificate and its status up the stack. There are still some rough edges and hardcoded settings, but it is basically functional. R=rvargas BUG=b/1272567 Review URL: http://codereview.chromium.org/2898 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2331 0039d316-1c4b-4281-b951-d872f2087c98
* Address a TODO for properly stripping references from request URL.ericroman@google.com2008-09-154-10/+65
| | | | | | | | (rfind of # isn't quite right, as reference might contain hashes). Review URL: http://codereview.chromium.org/2827 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2225 0039d316-1c4b-4281-b951-d872f2087c98
* Add unit test for HttpResponseHeaders::GetStatusText()ericroman@google.com2008-09-132-10/+38
| | | | | | Review URL: http://codereview.chromium.org/2822 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2173 0039d316-1c4b-4281-b951-d872f2087c98
* TBR fix for broken compile on mac.ericroman@google.com2008-09-131-1/+1
| | | | | | | | i had committed some bad code which visual studio doesnt mind, but gcc notices. Review URL: http://codereview.chromium.org/2818 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2155 0039d316-1c4b-4281-b951-d872f2087c98
* misc. http response status-line changes:ericroman@google.com2008-09-139-83/+398
| | | | | | | | | | 1. check for http 0.9 responses (no status line) 2. allow up to 4 bytes of junk to precede the http version. 3. distinguish between the parsed vs normalized http version (a TODO needed this). Review URL: http://codereview.chromium.org/1934 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2153 0039d316-1c4b-4281-b951-d872f2087c98
* Declare the bool members next to each other so they canwtc@google.com2008-09-112-5/+5
| | | | | | | | | | | be packed. Fix indentation. R=eroman Review URL: http://codereview.chromium.org/1926 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2064 0039d316-1c4b-4281-b951-d872f2087c98
* Remove all but one place in this file where we returnwtc@google.com2008-09-111-2/+6
| | | | | | | | | | | | ERR_FAILED. In the remaining place, log the original Win32 error code to help diagnose a failure in the field. R=darin Review URL: http://codereview.chromium.org/2401 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2044 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor the SSL tunnel establishment code so that itwtc@google.com2008-09-102-135/+62
| | | | | | | | | | | | | | | | | | | | | reuses the four states of writing the request headers and reading the response headers. Add a boolean member is_connect_method_ to tell, while we're in one of those four states, whether we're doing the HTTP CONNECT method (to set up a tunnel) or the real transaction. The motivation of this refactoring is that I need to read the response body when the CONNECT request fails, which makes me realize I'd need to duplicate more code with the original design. R=darin BUG=b/1272555 Review URL: http://codereview.chromium.org/1875 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2011 0039d316-1c4b-4281-b951-d872f2087c98
* WinHttpSendRequest fails with SEC_E_ILLEGAL_MESSAGE whenwtc@google.com2008-09-091-0/+1
| | | | | | | | | | | | | it receives an unexpected_message alert message from the server. We should map SEC_E_ILLEGAL_MESSAGE to net::ERR_SSL_PROTOCOL_ERROR so that our TLS-intolerant server handling code will kick in. R=eroman BUG=1891 Review URL: http://codereview.chromium.org/1669 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1919 0039d316-1c4b-4281-b951-d872f2087c98
* Replace all instances of <hash_map> with a "base/hash_tabe.h",erg@google.com2008-09-083-7/+4
| | | | | | | | | | | which does the right thing based on whatever platform we're compiling for, along with changing the hardcoded "stdext::", which is a MSVC++ism to use base::hash_{map,set}. B=1869 Review URL: http://codereview.chromium.org/1629 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1862 0039d316-1c4b-4281-b951-d872f2087c98
* Normalize leading LWS in line continuations, per Wan-Teh's suggestion.ericroman@google.com2008-09-082-15/+70
| | | | | | Review URL: http://codereview.chromium.org/1802 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1861 0039d316-1c4b-4281-b951-d872f2087c98
* [new http] Normalize line continuations in response headers.ericroman@google.com2008-09-065-27/+347
| | | | | | | | BUG=1272571 Review URL: http://codereview.chromium.org/458 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1818 0039d316-1c4b-4281-b951-d872f2087c98
* If we receive an HTTP authentication header with a non-ASCIIwtc@google.com2008-08-281-3/+3
| | | | | | | | | | | | | realm string, the ASCIIToWide call in PopulateAuthChallenge hits a DCHECK failure. Change the ASCIIToWide call to a base::SysNativeMBToWide call, which produces the correct result when the OS "language for non-Unicode programs" is set to the language of the realm string. R=darin,jungshik BUG=1348130 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1504 0039d316-1c4b-4281-b951-d872f2087c98
* Implement SSL tunneling through a proxy server.wtc@google.com2008-08-252-20/+187
| | | | | | | | | | | | | | Add several states to HttpNetworkTransaction for the HTTP CONNECT method and the SSL Connect (handshake) after the tunnel is connected. Add the error code ERR_TUNNEL_CONNECTION_FAILED for failure to connect a tunnel. R=darin BUG=1272555 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1329 0039d316-1c4b-4281-b951-d872f2087c98
* Move NOTIMPLEMENTED() macro from "base/notimplemented.h" into "base/logging.h".ericroman@google.com2008-08-251-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1300 0039d316-1c4b-4281-b951-d872f2087c98
* Use a more compact license header in source files.license.bot2008-08-2435-980/+140
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1287 0039d316-1c4b-4281-b951-d872f2087c98
* r1194 missed some sites to disable the warningmmentovai@google.com2008-08-211-3/+3
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1195 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the final gcc warnings in base and net. Provide some macros to ↵mmentovai@google.com2008-08-211-5/+7
| | | | | | selectively disable MSVC warnings. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1194 0039d316-1c4b-4281-b951-d872f2087c98
* Blind fix for net unittest failure.evanm@google.com2008-08-212-3/+3
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1189 0039d316-1c4b-4281-b951-d872f2087c98
* Fix signedness warnings in http_response_headersmmentovai@google.com2008-08-211-3/+3
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1159 0039d316-1c4b-4281-b951-d872f2087c98
* Fix some more warnings.evanm@google.com2008-08-201-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1130 0039d316-1c4b-4281-b951-d872f2087c98
* More of net compiling on the Mac.avi@google.com2008-08-201-8/+7
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1125 0039d316-1c4b-4281-b951-d872f2087c98
* Use the right mode in HttpCache::Transaction::RequiresValidationmmentovai@google.com2008-08-201-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1107 0039d316-1c4b-4281-b951-d872f2087c98
* We should reset content_length_remaining_ (to -1) when wewtc@google.com2008-08-201-0/+3
| | | | | | | | | | | | | restart a transaction. Otherwise, the stale value of content_length_remaining_ may be incorrectly applied to the response to the restarted request. I also reset upload_progress_ just to be safe. R=darin BUG=1314424 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1093 0039d316-1c4b-4281-b951-d872f2087c98
* Portability changes to http_response_headers.ericroman@google.com2008-08-202-10/+48
| | | | | | | | | | | | | | | | | | | | | | | | The parsing changes will also behave differently for these cases (added as unit-tests): "Content-Length: +10\n" Before: 10 After: -1 "Content-Length: 40000000000000000000\n" Before: 9223372036854775807 After: -1 "Content-Length: \v10\n" Before: 10 After: -1 "Content-Length: \f10\n" Before: 10 After: -1 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1083 0039d316-1c4b-4281-b951-d872f2087c98
* Run a couple more tests in net, and get rid of a couple more warningsmmentovai@google.com2008-08-201-0/+2
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1076 0039d316-1c4b-4281-b951-d872f2087c98
* add http_cache to mac build.ericroman@google.com2008-08-193-22/+21
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1068 0039d316-1c4b-4281-b951-d872f2087c98
* Remove warnings for the net module.rvargas@google.com2008-08-191-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1067 0039d316-1c4b-4281-b951-d872f2087c98
* Update a few forgotten users of the Sys StringPiece conversion functions to ↵deanm@google.com2008-08-191-0/+1
| | | | | | include string_piece.h git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1028 0039d316-1c4b-4281-b951-d872f2087c98
* change error valueericroman@google.com2008-08-182-6/+6
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1005 0039d316-1c4b-4281-b951-d872f2087c98
* Merge some changes from branches/mac_july_2008 to trunk.ericroman@google.com2008-08-182-1/+19
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1002 0039d316-1c4b-4281-b951-d872f2087c98
* -Add error code for chunked encodingericroman@google.com2008-08-152-7/+114
| | | | | | | | | | -Add unit test for chunk-size > 2GB -Allow trailing space (0x20) -Document how other browsers parse the chunk-size BUG=1326627 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@961 0039d316-1c4b-4281-b951-d872f2087c98
* Introduce MessagePump to represent the native message pump used to drive adarin@google.com2008-08-152-10/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MessageLoop. A MessageLoop now has a MessagePump. This will make it possible to port the MessagePump interface to other platforms as well as to use an IO completion port for our worker threads on Windows. Currently, there is only MessagePumpWin, which attempts to preserve the pre-existing behavior of the MessageLoop. API changes to MessageLoop: 1. MessageLoop::Quit means return from Run when the MessageLoop would otherwise wait for more work. 2. MessageLoop::Quit can no longer be called outside the context of an active Run call. So, things like this: MessageLoop::current()->Quit(); MessageLoop::current()->Run(); are now: MessageLoop::current()->RunAllPending(); 3. MessageLoop::Quit can no longer be called from other threads. This means that PostTask(..., new MessageLoop::QuitTask()) must be used explicitly to Quit across thread boundaries. 4. No protection is made to deal with nested MessageLoops involving watched objects or APCs. In fact, an assertion is added to flag such cases. This is a temporary measure until object watching and APC facilities are removed in favor of a MessagePump designed around an IO completion port. As part of this CL, I also changed the automation system to use an IPC::ChannelProxy instead of an IPC::Channel. This moves the automation IPC onto Chrome's IO thread where it belongs. I also fixed some abuses of RefCounted in the AutomationProvider class. It was deleting itself in some cases! This led to having to fix the ownership model for AutomationProvider, which explains the changes to AutomationProviderList and so on. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@928 0039d316-1c4b-4281-b951-d872f2087c98
* First cut at implementing SSLClientSocket using Schannel.wtc@google.com2008-08-141-1/+8
| | | | | | | | | | | | Not implemented: - Handling certificate errors - Handling session renegotiation - Sending the close_notify alert - Miscellaneous TODOs and DCHECKs in the code. R=darin git-svn-id: svn://svn.chromium.org/chrome/trunk/src@884 0039d316-1c4b-4281-b951-d872f2087c98