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"
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())
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
)