blob: 07c15a543534b04f4b478edce80099bc0f35ad00 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "net/server/http_server_request_info.h"
#include "base/strings/string_split.h"
#include "base/strings/string_util.h"
namespace net {
HttpServerRequestInfo::HttpServerRequestInfo() {}
HttpServerRequestInfo::~HttpServerRequestInfo() {}
std::string HttpServerRequestInfo::GetHeaderValue(
const std::string& header_name) const {
DCHECK_EQ(base::ToLowerASCII(header_name), header_name);
HttpServerRequestInfo::HeadersMap::const_iterator it =
headers.find(header_name);
if (it != headers.end())
return it->second;
return std::string();
}
bool HttpServerRequestInfo::HasHeaderValue(
const std::string& header_name,
const std::string& header_value) const {
DCHECK_EQ(base::ToLowerASCII(header_value), header_value);
std::string complete_value = base::ToLowerASCII(GetHeaderValue(header_name));
for (const base::StringPiece& cur :
base::SplitString(complete_value, ",", base::KEEP_WHITESPACE,
base::SPLIT_WANT_NONEMPTY)) {
if (base::TrimString(cur, " \t", base::TRIM_ALL) == header_value)
return true;
}
return false;
}
} // namespace net
|