Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(122)

Side by Side Diff: net/http/http_response_headers.h

Issue 8511063: Improve merging of header modifications in webRequest.OnHeadersReceived (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef NET_HTTP_HTTP_RESPONSE_HEADERS_H_ 5 #ifndef NET_HTTP_HTTP_RESPONSE_HEADERS_H_
6 #define NET_HTTP_HTTP_RESPONSE_HEADERS_H_ 6 #define NET_HTTP_HTTP_RESPONSE_HEADERS_H_
7 #pragma once 7 #pragma once
8 8
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 // Appends a representation of this object to the given pickle. 56 // Appends a representation of this object to the given pickle.
57 // The options argument can be a combination of PersistOptions. 57 // The options argument can be a combination of PersistOptions.
58 void Persist(Pickle* pickle, PersistOptions options); 58 void Persist(Pickle* pickle, PersistOptions options);
59 59
60 // Performs header merging as described in 13.5.3 of RFC 2616. 60 // Performs header merging as described in 13.5.3 of RFC 2616.
61 void Update(const HttpResponseHeaders& new_headers); 61 void Update(const HttpResponseHeaders& new_headers);
62 62
63 // Removes all instances of a particular header. 63 // Removes all instances of a particular header.
64 void RemoveHeader(const std::string& name); 64 void RemoveHeader(const std::string& name);
65 65
66 // Removes a particular header. The header name is compared
67 // case-insensitively.
68 void RemoveHeader(const std::string& name, const std::string& value);
Matt Perry 2011/11/11 22:05:08 google style forbids overloading function names. m
battre 2011/11/17 12:01:04 Done.
69
66 // Adds a particular header. |header| has to be a single header without any 70 // Adds a particular header. |header| has to be a single header without any
67 // EOL termination, just [<header-name>: <header-values>] 71 // EOL termination, just [<header-name>: <header-values>]
68 // If a header with the same name is already stored, the two headers are not 72 // If a header with the same name is already stored, the two headers are not
69 // merged together by this method; the one provided is simply put at the 73 // merged together by this method; the one provided is simply put at the
70 // end of the list. 74 // end of the list.
71 void AddHeader(const std::string& header); 75 void AddHeader(const std::string& header);
72 76
73 // Replaces the current status line with the provided one (|new_status| should 77 // Replaces the current status line with the provided one (|new_status| should
74 // not have any EOL). 78 // not have any EOL).
75 void ReplaceStatusLine(const std::string& new_status); 79 void ReplaceStatusLine(const std::string& new_status);
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after
293 std::string::const_iterator value_begin, 297 std::string::const_iterator value_begin,
294 std::string::const_iterator value_end); 298 std::string::const_iterator value_end);
295 299
296 // Replaces the current headers with the merged version of |raw_headers| and 300 // Replaces the current headers with the merged version of |raw_headers| and
297 // the current headers without the headers in |headers_to_remove|. Note that 301 // the current headers without the headers in |headers_to_remove|. Note that
298 // |headers_to_remove| are removed from the current headers (before the 302 // |headers_to_remove| are removed from the current headers (before the
299 // merge), not after the merge. 303 // merge), not after the merge.
300 void MergeWithHeaders(const std::string& raw_headers, 304 void MergeWithHeaders(const std::string& raw_headers,
301 const HeaderSet& headers_to_remove); 305 const HeaderSet& headers_to_remove);
302 306
307 // Replaces the current headers with the merged version of |raw_headers| and
308 // the current headers with out the header consisting of
309 // |header_to_remove_name| and |header_to_remove_value|. Note that
310 // |header_to_remove_name| are compared case-insensitively.
willchan no longer on Chromium 2011/11/11 22:46:28 s/are/is/?
battre 2011/11/17 12:01:04 Done.
311 // Note that the header to remove is removed from the current headers (before
312 // the merge), not after the merge.
313 void MergeWithHeaders(const std::string& raw_headers,
Matt Perry 2011/11/11 22:05:08 ditto about function name
battre 2011/11/17 12:01:04 Done.
314 const std::string& header_to_remove_name,
315 const std::string& header_to_remove_value);
316
303 // Adds the values from any 'cache-control: no-cache="foo,bar"' headers. 317 // Adds the values from any 'cache-control: no-cache="foo,bar"' headers.
304 void AddNonCacheableHeaders(HeaderSet* header_names) const; 318 void AddNonCacheableHeaders(HeaderSet* header_names) const;
305 319
306 // Adds the set of header names that contain cookie values. 320 // Adds the set of header names that contain cookie values.
307 static void AddSensitiveHeaders(HeaderSet* header_names); 321 static void AddSensitiveHeaders(HeaderSet* header_names);
308 322
309 // Adds the set of rfc2616 hop-by-hop response headers. 323 // Adds the set of rfc2616 hop-by-hop response headers.
310 static void AddHopByHopHeaders(HeaderSet* header_names); 324 static void AddHopByHopHeaders(HeaderSet* header_names);
311 325
312 // Adds the set of challenge response headers. 326 // Adds the set of challenge response headers.
(...skipping 25 matching lines...) Expand all
338 352
339 // The parsed http version number (not normalized). 353 // The parsed http version number (not normalized).
340 HttpVersion parsed_http_version_; 354 HttpVersion parsed_http_version_;
341 355
342 DISALLOW_COPY_AND_ASSIGN(HttpResponseHeaders); 356 DISALLOW_COPY_AND_ASSIGN(HttpResponseHeaders);
343 }; 357 };
344 358
345 } // namespace net 359 } // namespace net
346 360
347 #endif // NET_HTTP_HTTP_RESPONSE_HEADERS_H_ 361 #endif // NET_HTTP_HTTP_RESPONSE_HEADERS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698