| 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 // This class is useful for building a simple URLRequestContext. Most creators | 5 // This class is useful for building a simple URLRequestContext. Most creators |
| 6 // of new URLRequestContexts should use this helper class to construct it. Call | 6 // of new URLRequestContexts should use this helper class to construct it. Call |
| 7 // any configuration params, and when done, invoke Build() to construct the | 7 // any configuration params, and when done, invoke Build() to construct the |
| 8 // URLRequestContext. This URLRequestContext will own all its own storage. | 8 // URLRequestContext. This URLRequestContext will own all its own storage. |
| 9 // | 9 // |
| 10 // URLRequestContextBuilder and its associated params classes are initially | 10 // URLRequestContextBuilder and its associated params classes are initially |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 78 // or User-Agent header values for all requests that don't | 78 // or User-Agent header values for all requests that don't |
| 79 // have the headers already set. | 79 // have the headers already set. |
| 80 void set_accept_language(const std::string& accept_language) { | 80 void set_accept_language(const std::string& accept_language) { |
| 81 accept_language_ = accept_language; | 81 accept_language_ = accept_language; |
| 82 } | 82 } |
| 83 void set_user_agent(const std::string& user_agent) { | 83 void set_user_agent(const std::string& user_agent) { |
| 84 user_agent_ = user_agent; | 84 user_agent_ = user_agent; |
| 85 } | 85 } |
| 86 | 86 |
| 87 // Control support for data:// requests. By default it's disabled. | 87 // Control support for data:// requests. By default it's disabled. |
| 88 void set_data_enabled(bool enable) { | 88 void set_data_enabled(bool enable) { data_enabled_ = enable; } |
| 89 data_enabled_ = enable; | |
| 90 } | |
| 91 | 89 |
| 92 // Control support for file:// requests. By default it's disabled. | 90 // Control support for file:// requests. By default it's disabled. |
| 93 void set_file_enabled(bool enable) { | 91 void set_file_enabled(bool enable) { file_enabled_ = enable; } |
| 94 file_enabled_ = enable; | |
| 95 } | |
| 96 | 92 |
| 97 #if !defined(DISABLE_FTP_SUPPORT) | 93 #if !defined(DISABLE_FTP_SUPPORT) |
| 98 // Control support for ftp:// requests. By default it's disabled. | 94 // Control support for ftp:// requests. By default it's disabled. |
| 99 void set_ftp_enabled(bool enable) { | 95 void set_ftp_enabled(bool enable) { ftp_enabled_ = enable; } |
| 100 ftp_enabled_ = enable; | |
| 101 } | |
| 102 #endif | 96 #endif |
| 103 | 97 |
| 104 // By default host_resolver is constructed with CreateDefaultResolver. | 98 // By default host_resolver is constructed with CreateDefaultResolver. |
| 105 void set_host_resolver(HostResolver* host_resolver) { | 99 void set_host_resolver(HostResolver* host_resolver) { |
| 106 host_resolver_.reset(host_resolver); | 100 host_resolver_.reset(host_resolver); |
| 107 } | 101 } |
| 108 | 102 |
| 109 // Uses BasicNetworkDelegate by default. Note that calling Build will unset | 103 // Uses BasicNetworkDelegate by default. Note that calling Build will unset |
| 110 // any custom delegate in builder, so this must be called each time before | 104 // any custom delegate in builder, so this must be called each time before |
| 111 // Build is called. | 105 // Build is called. |
| 112 void set_network_delegate(NetworkDelegate* delegate) { | 106 void set_network_delegate(NetworkDelegate* delegate) { |
| 113 network_delegate_.reset(delegate); | 107 network_delegate_.reset(delegate); |
| 114 } | 108 } |
| 115 | 109 |
| 116 | |
| 117 // Adds additional auth handler factories to be used in addition to what is | 110 // Adds additional auth handler factories to be used in addition to what is |
| 118 // provided in the default |HttpAuthHandlerRegistryFactory|. The auth |scheme| | 111 // provided in the default |HttpAuthHandlerRegistryFactory|. The auth |scheme| |
| 119 // and |factory| are provided. The builder takes ownership of the factory and | 112 // and |factory| are provided. The builder takes ownership of the factory and |
| 120 // Build() must be called after this method. | 113 // Build() must be called after this method. |
| 121 void add_http_auth_handler_factory(const std::string& scheme, | 114 void add_http_auth_handler_factory(const std::string& scheme, |
| 122 net::HttpAuthHandlerFactory* factory) { | 115 net::HttpAuthHandlerFactory* factory) { |
| 123 extra_http_auth_handlers_.push_back(SchemeFactory(scheme, factory)); | 116 extra_http_auth_handlers_.push_back(SchemeFactory(scheme, factory)); |
| 124 } | 117 } |
| 125 | 118 |
| 126 // By default HttpCache is enabled with a default constructed HttpCacheParams. | 119 // By default HttpCache is enabled with a default constructed HttpCacheParams. |
| 127 void EnableHttpCache(const HttpCacheParams& params) { | 120 void EnableHttpCache(const HttpCacheParams& params) { |
| 128 http_cache_enabled_ = true; | 121 http_cache_enabled_ = true; |
| 129 http_cache_params_ = params; | 122 http_cache_params_ = params; |
| 130 } | 123 } |
| 131 | 124 |
| 132 void DisableHttpCache() { | 125 void DisableHttpCache() { |
| 133 http_cache_enabled_ = false; | 126 http_cache_enabled_ = false; |
| 134 http_cache_params_ = HttpCacheParams(); | 127 http_cache_params_ = HttpCacheParams(); |
| 135 } | 128 } |
| 136 | 129 |
| 137 // Override default net::HttpNetworkSession::Params settings. | 130 // Override default net::HttpNetworkSession::Params settings. |
| 138 void set_http_network_session_params( | 131 void set_http_network_session_params( |
| 139 const HttpNetworkSessionParams& http_network_session_params) { | 132 const HttpNetworkSessionParams& http_network_session_params) { |
| 140 http_network_session_params_ = http_network_session_params; | 133 http_network_session_params_ = http_network_session_params; |
| 141 } | 134 } |
| 142 | 135 |
| 143 URLRequestContext* Build(); | 136 URLRequestContext* Build(); |
| 144 | 137 |
| 145 private: | 138 private: |
| 146 | |
| 147 struct SchemeFactory { | 139 struct SchemeFactory { |
| 148 SchemeFactory(const std::string& scheme, | 140 SchemeFactory(const std::string& scheme, |
| 149 net::HttpAuthHandlerFactory* factory); | 141 net::HttpAuthHandlerFactory* factory); |
| 150 ~SchemeFactory(); | 142 ~SchemeFactory(); |
| 151 | 143 |
| 152 std::string scheme; | 144 std::string scheme; |
| 153 net::HttpAuthHandlerFactory* factory; | 145 net::HttpAuthHandlerFactory* factory; |
| 154 }; | 146 }; |
| 155 | 147 |
| 156 std::string accept_language_; | 148 std::string accept_language_; |
| (...skipping 14 matching lines...) Expand all Loading... |
| 171 scoped_ptr<NetworkDelegate> network_delegate_; | 163 scoped_ptr<NetworkDelegate> network_delegate_; |
| 172 scoped_ptr<FtpTransactionFactory> ftp_transaction_factory_; | 164 scoped_ptr<FtpTransactionFactory> ftp_transaction_factory_; |
| 173 std::vector<SchemeFactory> extra_http_auth_handlers_; | 165 std::vector<SchemeFactory> extra_http_auth_handlers_; |
| 174 | 166 |
| 175 DISALLOW_COPY_AND_ASSIGN(URLRequestContextBuilder); | 167 DISALLOW_COPY_AND_ASSIGN(URLRequestContextBuilder); |
| 176 }; | 168 }; |
| 177 | 169 |
| 178 } // namespace net | 170 } // namespace net |
| 179 | 171 |
| 180 #endif // NET_URL_REQUEST_URL_REQUEST_CONTEXT_BUILDER_H_ | 172 #endif // NET_URL_REQUEST_URL_REQUEST_CONTEXT_BUILDER_H_ |
| OLD | NEW |