Chromium Code Reviews| 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/common/data_reduction_proxy_headers.h" | 5 #include "components/data_reduction_proxy/common/data_reduction_proxy_headers.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/strings/string_number_conversions.h" | 9 #include "base/strings/string_number_conversions.h" |
| 10 #include "base/strings/string_piece.h" | 10 #include "base/strings/string_piece.h" |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 44 } | 44 } |
| 45 } | 45 } |
| 46 } | 46 } |
| 47 return false; | 47 return false; |
| 48 } | 48 } |
| 49 | 49 |
| 50 bool GetDataReductionProxyInfo(const net::HttpResponseHeaders* headers, | 50 bool GetDataReductionProxyInfo(const net::HttpResponseHeaders* headers, |
| 51 DataReductionProxyInfo* proxy_info) { | 51 DataReductionProxyInfo* proxy_info) { |
| 52 DCHECK(proxy_info); | 52 DCHECK(proxy_info); |
| 53 proxy_info->bypass_all = false; | 53 proxy_info->bypass_all = false; |
| 54 proxy_info->bypass_duration = TimeDelta(); | 54 // Randomize the timeout over a range from one to five minutes. |
| 55 proxy_info->bypass_duration = TimeDelta::FromMilliseconds( | |
|
bengr
2014/07/15 16:38:17
This won't work. Leave this one as is and move thi
Not at Google. Contact bengr
2014/07/16 22:41:34
Done.
| |
| 56 base::RandInt(1 * 60 * 1000, 5 * 60 * 1000)); | |
| 55 // Support header of the form Chrome-Proxy: bypass|block=<duration>, where | 57 // Support header of the form Chrome-Proxy: bypass|block=<duration>, where |
| 56 // <duration> is the number of seconds to wait before retrying | 58 // <duration> is the number of seconds to wait before retrying |
| 57 // the proxy. If the duration is 0, then the default proxy retry delay | 59 // the proxy. If the duration is 0, then the default proxy retry delay |
| 58 // (specified in |ProxyList::UpdateRetryInfoOnFallback|) will be used. | 60 // (specified in |ProxyList::UpdateRetryInfoOnFallback|) will be used. |
| 59 // 'bypass' instructs Chrome to bypass the currently connected data reduction | 61 // 'bypass' instructs Chrome to bypass the currently connected data reduction |
| 60 // proxy, whereas 'block' instructs Chrome to bypass all available data | 62 // proxy, whereas 'block' instructs Chrome to bypass all available data |
| 61 // reduction proxies. | 63 // reduction proxies. |
| 62 | 64 |
| 63 // 'block' takes precedence over 'bypass', so look for it first. | 65 // 'block' takes precedence over 'bypass', so look for it first. |
| 64 // TODO(bengr): Reduce checks for 'block' and 'bypass' to a single loop. | 66 // TODO(bengr): Reduce checks for 'block' and 'bypass' to a single loop. |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 146 headers->response_code() < net::HTTP_INTERNAL_SERVER_ERROR) { | 148 headers->response_code() < net::HTTP_INTERNAL_SERVER_ERROR) { |
| 147 return ProxyService::MISSING_VIA_HEADER_4XX; | 149 return ProxyService::MISSING_VIA_HEADER_4XX; |
| 148 } | 150 } |
| 149 return ProxyService::MISSING_VIA_HEADER_OTHER; | 151 return ProxyService::MISSING_VIA_HEADER_OTHER; |
| 150 } | 152 } |
| 151 // There is no bypass event. | 153 // There is no bypass event. |
| 152 return ProxyService::BYPASS_EVENT_TYPE_MAX; | 154 return ProxyService::BYPASS_EVENT_TYPE_MAX; |
| 153 } | 155 } |
| 154 | 156 |
| 155 } // namespace data_reduction_proxy | 157 } // namespace data_reduction_proxy |
| OLD | NEW |