summaryrefslogtreecommitdiffstats
path: root/net/http/http_stream_factory_impl.cc
diff options
context:
space:
mode:
authorrch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-02 17:10:14 +0000
committerrch@chromium.org <rch@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-02 17:10:14 +0000
commit102957f8a81d2aeb4e0069603977221a3b93a0bd (patch)
treea69ebeb9bce5664d399e66e6452ebc62b25993cb /net/http/http_stream_factory_impl.cc
parent0c9649c6ab1dbc87b133ccd561e8ecfd91cd6c73 (diff)
downloadchromium_src-102957f8a81d2aeb4e0069603977221a3b93a0bd.zip
chromium_src-102957f8a81d2aeb4e0069603977221a3b93a0bd.tar.gz
chromium_src-102957f8a81d2aeb4e0069603977221a3b93a0bd.tar.bz2
Change HttpNetworkTransaction and HttpStreamFactoryImpl::Job
to keep different SSLConfig objects for HTTPS Proxies vs HTTPS Servers. Add an is_proxy field to SSLCertRequest indicating if the request came from a proxy or from an origin server. BUG=95071 Review URL: http://codereview.chromium.org/7768002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99392 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/http/http_stream_factory_impl.cc')
-rw-r--r--net/http/http_stream_factory_impl.cc20
1 files changed, 13 insertions, 7 deletions
diff --git a/net/http/http_stream_factory_impl.cc b/net/http/http_stream_factory_impl.cc
index dacc2fb..ebb0ec7 100644
--- a/net/http/http_stream_factory_impl.cc
+++ b/net/http/http_stream_factory_impl.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 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.
@@ -51,7 +51,8 @@ HttpStreamFactoryImpl::~HttpStreamFactoryImpl() {
HttpStreamRequest* HttpStreamFactoryImpl::RequestStream(
const HttpRequestInfo& request_info,
- const SSLConfig& ssl_config,
+ const SSLConfig& server_ssl_config,
+ const SSLConfig& proxy_ssl_config,
HttpStreamRequest::Delegate* delegate,
const BoundNetLog& net_log) {
Request* request = new Request(request_info.url, this, delegate, net_log);
@@ -64,12 +65,14 @@ HttpStreamRequest* HttpStreamFactoryImpl::RequestStream(
HttpRequestInfo alternate_request_info = request_info;
alternate_request_info.url = alternate_url;
alternate_job =
- new Job(this, session_, alternate_request_info, ssl_config, net_log);
+ new Job(this, session_, alternate_request_info, server_ssl_config,
+ proxy_ssl_config, net_log);
request->AttachJob(alternate_job);
alternate_job->MarkAsAlternate(request_info.url);
}
- Job* job = new Job(this, session_, request_info, ssl_config, net_log);
+ Job* job = new Job(this, session_, request_info, server_ssl_config,
+ proxy_ssl_config, net_log);
request->AttachJob(job);
if (alternate_job) {
job->WaitFor(alternate_job);
@@ -88,7 +91,8 @@ HttpStreamRequest* HttpStreamFactoryImpl::RequestStream(
void HttpStreamFactoryImpl::PreconnectStreams(
int num_streams,
const HttpRequestInfo& request_info,
- const SSLConfig& ssl_config,
+ const SSLConfig& server_ssl_config,
+ const SSLConfig& proxy_ssl_config,
const BoundNetLog& net_log) {
GURL alternate_url;
bool has_alternate_protocol =
@@ -97,10 +101,12 @@ void HttpStreamFactoryImpl::PreconnectStreams(
if (has_alternate_protocol) {
HttpRequestInfo alternate_request_info = request_info;
alternate_request_info.url = alternate_url;
- job = new Job(this, session_, alternate_request_info, ssl_config, net_log);
+ job = new Job(this, session_, alternate_request_info, server_ssl_config,
+ proxy_ssl_config, net_log);
job->MarkAsAlternate(request_info.url);
} else {
- job = new Job(this, session_, request_info, ssl_config, net_log);
+ job = new Job(this, session_, request_info, server_ssl_config,
+ proxy_ssl_config, net_log);
}
preconnect_job_set_.insert(job);
job->Preconnect(num_streams);