Chromium Code Reviews| Index: net/url_request/http_protocol_handler.cc |
| diff --git a/net/url_request/http_protocol_handler.cc b/net/url_request/http_protocol_handler.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..53141ea81ca37025740b562565a16d97cccc3cd4 |
| --- /dev/null |
| +++ b/net/url_request/http_protocol_handler.cc |
| @@ -0,0 +1,59 @@ |
| +// Copyright (c) 2012 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/url_request/http_protocol_handler.h" |
| + |
| +#include "base/logging.h" |
| +#include "net/base/net_errors.h" |
| +#include "net/url_request/url_request.h" |
| +#include "net/url_request/url_request_error_job.h" |
| +#include "net/url_request/url_request_http_job.h" |
| +#include "net/url_request/url_request_redirect_job.h" |
| + |
| +namespace net { |
| + |
| +HttpProtocolHandler::HttpProtocolHandler( |
| + HttpTransactionFactory* http_transaction_factory, |
| + NetworkDelegate* network_delegate, |
| + URLRequestThrottlerManager* throttler_manager, |
| + const std::string& accept_language, |
| + const std::string& accept_charset, |
| + CookieStore* cookie_store, |
| + FraudulentCertificateReporter* fraudulent_certificate_reporter, |
| + SSLConfigService* ssl_config_service, |
| + TransportSecurityState* transport_security_state) |
| + : http_transaction_factory_(http_transaction_factory), |
| + network_delegate_(network_delegate), |
| + throttler_manager_(throttler_manager), |
| + accept_language_(accept_language), |
| + accept_charset_(accept_charset), |
| + cookie_store_(cookie_store), |
| + fraudulent_certificate_reporter_(fraudulent_certificate_reporter), |
| + ssl_config_service_(ssl_config_service), |
| + transport_security_state_(transport_security_state) { |
| +} |
| + |
| +URLRequestJob* HttpProtocolHandler::MaybeCreateJob( |
| + URLRequest* request) const { |
| + if (!http_transaction_factory_) { |
| + NOTREACHED() << "requires a valid context"; |
| + return new URLRequestErrorJob(request, ERR_INVALID_ARGUMENT); |
|
mmenke
2012/07/24 15:24:34
I don't believe we need this, and I don't think we
shalev
2012/07/25 20:22:45
Done.
mmenke
2012/07/26 14:22:06
The DCHECK should be in the constructor.
shalev
2012/07/26 17:45:39
Done.
|
| + } |
| + |
| + GURL redirect_url; |
| + if (request->GetHSTSRedirect(&redirect_url)) |
| + return new URLRequestRedirectJob(request, redirect_url); |
| + return new URLRequestHttpJob(request, |
| + http_transaction_factory_, |
| + network_delegate_, |
| + throttler_manager_, |
| + accept_language_, |
| + accept_charset_, |
| + cookie_store_, |
| + fraudulent_certificate_reporter_, |
| + ssl_config_service_, |
| + transport_security_state_); |
| +} |
| + |
| +} // namespace net |