| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #ifndef NET_URL_REQUEST_HTTP_USER_AGENT_SETTINGS_H_ | 5 #ifndef NET_BASE_NET_PORT_UTIL_ |
| 6 #define NET_URL_REQUEST_HTTP_USER_AGENT_SETTINGS_H_ | 6 #define NET_BASE_NET_PORT_UTIL_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
| 11 #include "net/base/net_export.h" | 11 #include "net/base/net_export.h" |
| 12 | 12 |
| 13 class GURL; | |
| 14 | |
| 15 namespace net { | 13 namespace net { |
| 16 | 14 |
| 17 // The interface used by HTTP jobs to retrieve HTTP Accept-Language | 15 // Checks if |port| is in the valid range (0 to 65535, though 0 is technically |
| 18 // and User-Agent header values. | 16 // reserved). Should be used before casting a port to a uint16_t. |
| 19 class NET_EXPORT HttpUserAgentSettings { | 17 NET_EXPORT bool IsPortValid(int port); |
| 18 |
| 19 // Returns true if the port is in the range [0, 1023]. These ports are |
| 20 // registered by IANA and typically need root access to listen on. |
| 21 bool IsWellKnownPort(int port); |
| 22 |
| 23 // Checks if the port is allowed for the specified scheme. Ports set as allowed |
| 24 // with SetExplicitlyAllowedPorts() or by using ScopedPortException() will be |
| 25 // considered allowed for any scheme. |
| 26 NET_EXPORT bool IsPortAllowedForScheme(int port, const std::string& url_scheme); |
| 27 |
| 28 // Returns the number of explicitly allowed ports; for testing. |
| 29 NET_EXPORT_PRIVATE size_t GetCountOfExplicitlyAllowedPorts(); |
| 30 |
| 31 NET_EXPORT void SetExplicitlyAllowedPorts(const std::string& allowed_ports); |
| 32 |
| 33 class NET_EXPORT ScopedPortException { |
| 20 public: | 34 public: |
| 21 HttpUserAgentSettings() {} | 35 explicit ScopedPortException(int port); |
| 22 virtual ~HttpUserAgentSettings() {} | 36 ~ScopedPortException(); |
| 23 | |
| 24 // Gets the value of 'Accept-Language' header field. | |
| 25 virtual std::string GetAcceptLanguage() const = 0; | |
| 26 | |
| 27 // Gets the UA string. | |
| 28 virtual std::string GetUserAgent() const = 0; | |
| 29 | 37 |
| 30 private: | 38 private: |
| 31 DISALLOW_COPY_AND_ASSIGN(HttpUserAgentSettings); | 39 int port_; |
| 40 |
| 41 DISALLOW_COPY_AND_ASSIGN(ScopedPortException); |
| 32 }; | 42 }; |
| 33 | 43 |
| 34 } // namespace net | 44 } // namespace net |
| 35 | 45 |
| 36 #endif // NET_URL_REQUEST_HTTP_USER_AGENT_SETTINGS_H_ | 46 #endif // NET_BASE_NET_PORT_UTIL_ |
| 37 | |
| OLD | NEW |