Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / net / server / http_server_request_info.cc
blob07c15a543534b04f4b478edce80099bc0f35ad00
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
3 // found in the LICENSE file.
5 #include "net/server/http_server_request_info.h"
7 #include "base/strings/string_split.h"
8 #include "base/strings/string_util.h"
10 namespace net {
12 HttpServerRequestInfo::HttpServerRequestInfo() {}
14 HttpServerRequestInfo::~HttpServerRequestInfo() {}
16 std::string HttpServerRequestInfo::GetHeaderValue(
17 const std::string& header_name) const {
18 DCHECK_EQ(base::ToLowerASCII(header_name), header_name);
19 HttpServerRequestInfo::HeadersMap::const_iterator it =
20 headers.find(header_name);
21 if (it != headers.end())
22 return it->second;
23 return std::string();
26 bool HttpServerRequestInfo::HasHeaderValue(
27 const std::string& header_name,
28 const std::string& header_value) const {
29 DCHECK_EQ(base::ToLowerASCII(header_value), header_value);
30 std::string complete_value = base::ToLowerASCII(GetHeaderValue(header_name));
32 for (const base::StringPiece& cur :
33 base::SplitString(complete_value, ",", base::KEEP_WHITESPACE,
34 base::SPLIT_WANT_NONEMPTY)) {
35 if (base::TrimString(cur, " \t", base::TRIM_ALL) == header_value)
36 return true;
38 return false;
41 } // namespace net