Index: net/http/http_response_headers.h |
diff --git a/net/http/http_response_headers.h b/net/http/http_response_headers.h |
index 2cdc73e0855b806007e6e18a08eb98c563045147..c29964d61c54c3b4eafdef0311810908e511232f 100644 |
--- a/net/http/http_response_headers.h |
+++ b/net/http/http_response_headers.h |
@@ -63,6 +63,10 @@ class NET_EXPORT HttpResponseHeaders |
// Removes all instances of a particular header. |
void RemoveHeader(const std::string& name); |
+ // Removes a particular header. The header name is compared |
+ // case-insensitively. |
+ void RemoveHeaderWithValue(const std::string& name, const std::string& value); |
+ |
// Adds a particular header. |header| has to be a single header without any |
// EOL termination, just [<header-name>: <header-values>] |
// If a header with the same name is already stored, the two headers are not |
@@ -300,6 +304,16 @@ class NET_EXPORT HttpResponseHeaders |
void MergeWithHeaders(const std::string& raw_headers, |
const HeaderSet& headers_to_remove); |
+ // Replaces the current headers with the merged version of |raw_headers| and |
+ // the current headers with out the header consisting of |
+ // |header_to_remove_name| and |header_to_remove_value|. Note that |
+ // |header_to_remove_name| is compared case-insensitively. |
+ // Note that the header to remove is removed from the current headers (before |
+ // the merge), not after the merge. |
+ void MergeWithHeadersWithValue(const std::string& raw_headers, |
+ const std::string& header_to_remove_name, |
+ const std::string& header_to_remove_value); |
+ |
// Adds the values from any 'cache-control: no-cache="foo,bar"' headers. |
void AddNonCacheableHeaders(HeaderSet* header_names) const; |