summaryrefslogtreecommitdiffstats
path: root/net/http/http_response_headers.cc
Commit message (Collapse)AuthorAgeFilesLines
* FBTF: A giant cleanup to net/erg@google.com2010-08-311-0/+6
| | | | | | | | | | | | This moves all sorts of code from h files to cc files and reduces header dependencies. BUG=none TEST=compiles Review URL: http://codereview.chromium.org/3212008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58020 0039d316-1c4b-4281-b951-d872f2087c98
* Convert more callers of the integer/string functions to usingbrettw@chromium.org2010-07-311-9/+13
| | | | | | | | | | string_number_conversions.h TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/3013046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54454 0039d316-1c4b-4281-b951-d872f2087c98
* Hooking GSSAPI code into HTTP authenticate Negotiate handler.ahendrickson@google.com2010-06-281-0/+24
| | | | | | | | | BUG=33033. TEST=None. Review URL: http://codereview.chromium.org/2684001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51001 0039d316-1c4b-4281-b951-d872f2087c98
* Working towards -Wextrathomasvl@chromium.org2010-06-161-3/+3
| | | | | | | | | | | | - Make loops use {} instead of a ';' to make it clear there is no body to the loop. - Remove checks of unsigned values for <0 - coordinates should be CGFloat, not NSUInteger. BUG=34160 TEST=none Review URL: http://codereview.chromium.org/2865003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49939 0039d316-1c4b-4281-b951-d872f2087c98
* Auto-format style pass over files.cbentzel@chromium.org2010-05-041-6/+7
| | | | | | | | | | | This is a refactor (actually reformat) only - no behavior change in place. BUG=NONE TEST=net_unittests.exe Review URL: http://codereview.chromium.org/1800003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46349 0039d316-1c4b-4281-b951-d872f2087c98
* SpdySession now sets the following fields in HttpResponseInfo: ahendrickson@google.com2010-03-251-0/+4
| | | | | | | | | | | | | | | | | | | | | | | request_time response_time vary_data There is also a unit test to exercise the new functionality. - Changed CreateSpdyHeadersFromHttpRequest() to use std::string::append() rather than std::string::operator+() to append a single '\0' character to the string, as the former does nothing. - Now using SpdyFramer. - The unit tests now include all server push cases. BUG=34505 TEST=Run netunittests.exe --gtest_filter=SpdyNetworkTransactionTest.* Review URL: http://codereview.chromium.org/634002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@42660 0039d316-1c4b-4281-b951-d872f2087c98
* Http cache: Avoid resuming (and keeping) truncated entriesrvargas@google.com2010-01-081-0/+26
| | | | | | | | | | | | | | | | | | if the server doesn't provide a strong validator. We require: - A strong etag or a strong last modified date. - The total Content length. - Lack of an explicit rejection of ranges (Accept-ranges: none) This aligns better with the conditions used by Firefox. BUG=30220, b/2329250 TEST=unittests Review URL: http://codereview.chromium.org/517043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35761 0039d316-1c4b-4281-b951-d872f2087c98
* ChromeFrame's host network stack implementation for IE full tab mode ↵ananta@chromium.org2009-11-241-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | implicitly follows redirects. When Chrome receives a notification about a redirect it also attempts to follow the redirect request. While this works in most cases, some sites actually returned an error for the second request initiated by Chrome. Fix is to abort the request in urlmon, when we receive a notification about a redirect. I also fixed the IsRedirectResponse function in the UrlRequestAutomationJob class to only treat 301, 302, 303 and 307 as redirect codes on the same lines as the default http job. Test=covered by existing network tests. I also verified that http://code.google.com/p/chromium/issues/detail?id=25643 works with this CL. Fixes http://code.google.com/p/chromium/issues/detail?id=28296 Bug=28296 Review URL: http://codereview.chromium.org/402107 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32896 0039d316-1c4b-4281-b951-d872f2087c98
* HTTP Cache: Apply all freshness tests to Partial content entries.rvargas@google.com2009-10-161-4/+2
| | | | | | | | | BUG=24057 TEST=unittest Review URL: http://codereview.chromium.org/267122 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29301 0039d316-1c4b-4281-b951-d872f2087c98
* Http Cache: More unit tests for byte range support.rvargas@google.com2009-10-141-14/+16
| | | | | | | | | BUG=b/2071330 TEST=unittests Review URL: http://codereview.chromium.org/267101 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29035 0039d316-1c4b-4281-b951-d872f2087c98
* Http cache: Extend support for byte range requests.rvargas@google.com2009-08-121-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Now we handle regular requests (not byte range requests) that end up reading a cached entry that stores byte ranges. In this case we create a control object (partial_), but it's byte_range_ member is always invalid because the user is not requesting a range. * Given that we may find stored 206s that are not keeping sparse data, we detect that case and handle it. * Now we may end up reading 206 from disk (and the net) and having to change the returned status to be 200 (for regular requests). * We avoid performing re-validations for each piece of stored data. Instead, we consider the whole entry to be revalidated once, and read from the cache without asking the server (as far as we can). * When processing the received headers we now consider receiving 200 and 416 (instead of 206/304) and we handle inconsistencies in the range returned by the server (from what we expect). We also handle receiving 206 when we don't expect it. BUG=12258 TEST=unittests Review URL: http://codereview.chromium.org/164304 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23123 0039d316-1c4b-4281-b951-d872f2087c98
* Http cache: Return valid Content-Range headers for a byte range request.rvargas@google.com2009-06-221-11/+44
| | | | | | | | | BUG=12258 TEST=unittests Review URL: http://codereview.chromium.org/140015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18961 0039d316-1c4b-4281-b951-d872f2087c98
* Fix problem with how HttpResponseHeaders::Update() copies headers -- it ↵ericroman@google.com2009-06-191-2/+4
| | | | | | | | | | | assumed the value range ended in a '\0'. BUG=14220 TEST=HttpResponseHeadersTest.Update Review URL: http://codereview.chromium.org/132042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18774 0039d316-1c4b-4281-b951-d872f2087c98
* Fixing a bug in HttpResponseHeaders.GetContentRangehclam@chromium.org2009-06-161-2/+7
| | | | | | | | | The code has a glitch in handling LWS near to the "bytes" token. BUG=14216 Review URL: http://codereview.chromium.org/126229 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18556 0039d316-1c4b-4281-b951-d872f2087c98
* Http Cache: First pass of byte-range requests support.rvargas@google.com2009-06-121-0/+7
| | | | | | | | | | | | | | | | | | | | | | This is the first pass to implement support for range requests and the asociated sparse cache entry. It is disabled by default, and requires ENABLE_RANGE_SUPPORT to be defined in order to activate the code: all the code is compiled in, but Start() bypasses the cache for range requests, and OnNetworkInfoAvailable ignores 206. Big parts are still not implemented. Most notably we are not modifying the response headers that we send to the user, so the content-range and content-length info are not correct. BUG=12258 TEST=Unit tests. Review URL: http://codereview.chromium.org/118345 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18289 0039d316-1c4b-4281-b951-d872f2087c98
* HttpResponseHeaders::GetContentRange() to handle implied LWShclam@chromium.org2009-05-261-19/+41
| | | | | | | | | | | There was a bug in HttpResponseHeaders::GetContentRange() that it didn't respect implied LWS rule, i.e. there can be arbitrary number of spaces in the header value between tokens. TEST=HttpResponseHeaders.GetContentRange Review URL: http://codereview.chromium.org/113675 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16921 0039d316-1c4b-4281-b951-d872f2087c98
* Make sure that a null separates individual http headers whenrvargas@google.com2009-05-071-2/+3
| | | | | | | | | | | we pickle them. BUG=7945 TEST=unittest. Review URL: http://codereview.chromium.org/113110 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15601 0039d316-1c4b-4281-b951-d872f2087c98
* Implement HttpResponseHeaders::GetContentRange and unittestshclam@chromium.org2009-04-221-1/+83
| | | | | | | | | Parse "Content-Range" header in HttpResponseHeaders according to RFC 2616 14.16. Review URL: http://codereview.chromium.org/88068 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14238 0039d316-1c4b-4281-b951-d872f2087c98
* Back out r11684, a temporary change for debugging issue 8325.wtc@chromium.org2009-03-161-4/+2
| | | | | | | | R=darin BUG=Issue 8325 Review URL: http://codereview.chromium.org/46074 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11732 0039d316-1c4b-4281-b951-d872f2087c98
* Temporarily use the Proxy-Connection header before thewtc@chromium.org2009-03-131-2/+4
| | | | | | | | | | | | Connection header in IsKeepAlive. This is an experiment to see if it allows us to do NTLM auth through Privoxy to a proxy. R=darin BUG=8325 Review URL: http://codereview.chromium.org/46061 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11684 0039d316-1c4b-4281-b951-d872f2087c98
* NO CODE CHANGEdeanm@chromium.org2009-03-111-1/+0
| | | | | | | | | Normalize end of file newlines in net/. All files end in a single newline. Review URL: http://codereview.chromium.org/43079 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11442 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up HttpResponseHeaders::IsKeepAlive. Use the parsedwtc@chromium.org2009-03-051-8/+4
| | | | | | | | | | HTTP version in the http_version_ member. Pass NULL to EnumerateHeader. R=eroman Review URL: http://codereview.chromium.org/40137 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11045 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes CRLF and trailing white spaces.maruel@chromium.org2009-03-051-2/+2
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10982 0039d316-1c4b-4281-b951-d872f2087c98
* Add a flags to further control response header persistence. We use this todarin@chromium.org2008-11-201-37/+72
| | | | | | | | | | | | | | | | | filter out Set-Cookie and Set-Cookie2 response headers from being forwarded to the renderer. This serves to prevent the renderer from having any access to HttpOnly cookies, and it also prevents XMLHttpRequest consumers from being able to read cookies in the HTTP response headers. This is consistent with changes made to Firefox and WebKit. Patch by marius.schilder@gmail.com R=deanm,darin Review URL: http://codereview.chromium.org/11264 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@5767 0039d316-1c4b-4281-b951-d872f2087c98
* Move Time, TimeDelta and TimeTicks into namespace base.dsh@google.com2008-10-271-0/+3
| | | | | | Review URL: http://codereview.chromium.org/7995 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4022 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
* HttpVersion had to be changed because glibc defines macros named "major" and ↵maruel@google.com2008-09-231-4/+4
| | | | | | | | | | | "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
* Add unit test for HttpResponseHeaders::GetStatusText()ericroman@google.com2008-09-131-10/+8
| | | | | | Review URL: http://codereview.chromium.org/2822 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@2173 0039d316-1c4b-4281-b951-d872f2087c98
* misc. http response status-line changes:ericroman@google.com2008-09-131-28/+59
| | | | | | | | | | 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
* Use a more compact license header in source files.license.bot2008-08-241-28/+4
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1287 0039d316-1c4b-4281-b951-d872f2087c98
* Blind fix for net unittest failure.evanm@google.com2008-08-211-1/+1
| | | | 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
* Portability changes to http_response_headers.ericroman@google.com2008-08-201-10/+7
| | | | | | | | | | | | | | | | | | | | | | | | 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
* Add net to the repository.initial.commit2008-07-261-0/+936
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14 0039d316-1c4b-4281-b951-d872f2087c98