| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_requ
est_options.h" | 5 #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_requ
est_options.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
| 9 #include "base/single_thread_task_runner.h" | 9 #include "base/single_thread_task_runner.h" |
| 10 #include "base/strings/string_number_conversions.h" | 10 #include "base/strings/string_number_conversions.h" |
| (...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 170 | 170 |
| 171 base::Time DataReductionProxyRequestOptions::Now() const { | 171 base::Time DataReductionProxyRequestOptions::Now() const { |
| 172 return base::Time::Now(); | 172 return base::Time::Now(); |
| 173 } | 173 } |
| 174 | 174 |
| 175 void DataReductionProxyRequestOptions::RandBytes(void* output, | 175 void DataReductionProxyRequestOptions::RandBytes(void* output, |
| 176 size_t length) const { | 176 size_t length) const { |
| 177 crypto::RandBytes(output, length); | 177 crypto::RandBytes(output, length); |
| 178 } | 178 } |
| 179 | 179 |
| 180 void DataReductionProxyRequestOptions::MaybeAddRequestHeader( | 180 void DataReductionProxyRequestOptions::AddRequestHeader( |
| 181 const net::ProxyServer& proxy_server, | |
| 182 net::HttpRequestHeaders* request_headers) { | 181 net::HttpRequestHeaders* request_headers) { |
| 183 DCHECK(thread_checker_.CalledOnValidThread()); | |
| 184 if (!proxy_server.is_valid()) | |
| 185 return; | |
| 186 if (proxy_server.is_direct()) | |
| 187 return; | |
| 188 if (proxy_server.host_port_pair().IsEmpty()) | |
| 189 return; | |
| 190 if (data_reduction_proxy_config_->IsDataReductionProxy( | |
| 191 proxy_server.host_port_pair(), NULL)) { | |
| 192 SetHeader(request_headers); | |
| 193 } | |
| 194 } | |
| 195 | |
| 196 void DataReductionProxyRequestOptions::SetHeader( | |
| 197 net::HttpRequestHeaders* headers) { | |
| 198 base::Time now = Now(); | 182 base::Time now = Now(); |
| 199 // Authorization credentials must be regenerated if they are expired. | 183 // Authorization credentials must be regenerated if they are expired. |
| 200 if (!use_assigned_credentials_ && (now > credentials_expiration_time_)) | 184 if (!use_assigned_credentials_ && (now > credentials_expiration_time_)) |
| 201 UpdateCredentials(); | 185 UpdateCredentials(); |
| 202 const char kChromeProxyHeader[] = "Chrome-Proxy"; | 186 const char kChromeProxyHeader[] = "Chrome-Proxy"; |
| 203 std::string header_value; | 187 std::string header_value; |
| 204 if (headers->HasHeader(kChromeProxyHeader)) { | 188 if (request_headers->HasHeader(kChromeProxyHeader)) { |
| 205 headers->GetHeader(kChromeProxyHeader, &header_value); | 189 request_headers->GetHeader(kChromeProxyHeader, &header_value); |
| 206 headers->RemoveHeader(kChromeProxyHeader); | 190 request_headers->RemoveHeader(kChromeProxyHeader); |
| 207 header_value += ", "; | 191 header_value += ", "; |
| 208 } | 192 } |
| 209 header_value += header_value_; | 193 header_value += header_value_; |
| 210 headers->SetHeader(kChromeProxyHeader, header_value); | 194 request_headers->SetHeader(kChromeProxyHeader, header_value); |
| 211 } | 195 } |
| 212 | 196 |
| 213 void DataReductionProxyRequestOptions::ComputeCredentials( | 197 void DataReductionProxyRequestOptions::ComputeCredentials( |
| 214 const base::Time& now, | 198 const base::Time& now, |
| 215 std::string* session, | 199 std::string* session, |
| 216 std::string* credentials) const { | 200 std::string* credentials) const { |
| 217 DCHECK(session); | 201 DCHECK(session); |
| 218 DCHECK(credentials); | 202 DCHECK(credentials); |
| 219 int64_t timestamp = (now - base::Time::UnixEpoch()).InMilliseconds() / 1000; | 203 int64_t timestamp = (now - base::Time::UnixEpoch()).InMilliseconds() / 1000; |
| 220 | 204 |
| (...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 333 if (base::TrimWhitespaceASCII(kv_pair.first, base::TRIM_ALL) == | 317 if (base::TrimWhitespaceASCII(kv_pair.first, base::TRIM_ALL) == |
| 334 kSecureSessionHeaderOption) { | 318 kSecureSessionHeaderOption) { |
| 335 return base::TrimWhitespaceASCII(kv_pair.second, base::TRIM_ALL) | 319 return base::TrimWhitespaceASCII(kv_pair.second, base::TRIM_ALL) |
| 336 .as_string(); | 320 .as_string(); |
| 337 } | 321 } |
| 338 } | 322 } |
| 339 return ""; | 323 return ""; |
| 340 } | 324 } |
| 341 | 325 |
| 342 } // namespace data_reduction_proxy | 326 } // namespace data_reduction_proxy |
| OLD | NEW |