diff options
Diffstat (limited to 'net/server/http_server_request_info.cc')
-rw-r--r-- | net/server/http_server_request_info.cc | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/net/server/http_server_request_info.cc b/net/server/http_server_request_info.cc index 67965f2..8b65bee 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 |