Pin Chrome's shortcut to the Win10 Start menu on install and OS upgrade.
[chromium-blink-merge.git] / net / server / http_server_request_info.cc
blobdf5cff6bc75a9c40917baa41101a30c9c4dd2b11
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::StringToLowerASCII(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::StringToLowerASCII(header_value), header_value);
30 std::string complete_value = GetHeaderValue(header_name);
31 base::StringToLowerASCII(&complete_value);
33 for (const base::StringPiece& cur :
34 base::SplitString(complete_value, ",", base::KEEP_WHITESPACE,
35 base::SPLIT_WANT_NONEMPTY)) {
36 if (base::TrimString(cur, " \t", base::TRIM_ALL) == header_value)
37 return true;
39 return false;
42 } // namespace net