Index: net/server/http_server_request_info.cc |
diff --git a/net/server/http_server_request_info.cc b/net/server/http_server_request_info.cc |
index 67965f29aa34302e03161e86e5ed5680db260ded..8b65bee50c1a50cf2a3a4a89c5b6d941a259564e 100644 |
--- a/net/server/http_server_request_info.cc |
+++ b/net/server/http_server_request_info.cc |
@@ -22,4 +22,21 @@ std::string HttpServerRequestInfo::GetHeaderValue( |
return std::string(); |
} |
+bool HttpServerRequestInfo::HasHeaderValue( |
+ const std::string& header_name, |
+ const std::string& header_value) const { |
+ DCHECK_EQ(StringToLowerASCII(header_value), header_value); |
+ std::string complete_value = GetHeaderValue(header_name); |
+ StringToLowerASCII(&complete_value); |
+ std::vector<std::string> value_items; |
+ Tokenize(complete_value, ",", &value_items); |
+ for (std::vector<std::string>::iterator it = value_items.begin(); |
+ it != value_items.end(); ++it) { |
+ base::TrimString(*it, " \t", &*it); |
+ if (*it == header_value) |
+ return true; |
+ } |
+ return false; |
+} |
+ |
} // namespace net |