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 #include "net/http/http_network_transaction.h" | 5 #include "net/http/http_network_transaction.h" |
6 | 6 |
7 #include <set> | 7 #include <set> |
8 #include <utility> | 8 #include <utility> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
142 | 142 |
143 next_state_ = STATE_CREATE_STREAM; | 143 next_state_ = STATE_CREATE_STREAM; |
144 | 144 |
145 int rv = DoLoop(OK); | 145 int rv = DoLoop(OK); |
146 if (rv == ERR_IO_PENDING) | 146 if (rv == ERR_IO_PENDING) |
147 callback_ = callback; | 147 callback_ = callback; |
148 return rv; | 148 return rv; |
149 } | 149 } |
150 | 150 |
151 int HttpNetworkTransaction::RestartWithCertificate( | 151 int HttpNetworkTransaction::RestartWithCertificate( |
152 X509Certificate* client_cert, | 152 scoped_refptr<X509Certificate> client_cert, |
153 SSLPrivateKey* client_private_key, | 153 scoped_refptr<SSLPrivateKey> client_private_key, |
154 const CompletionCallback& callback) { | 154 const CompletionCallback& callback) { |
155 // In HandleCertificateRequest(), we always tear down existing stream | 155 // In HandleCertificateRequest(), we always tear down existing stream |
156 // requests to force a new connection. So we shouldn't have one here. | 156 // requests to force a new connection. So we shouldn't have one here. |
157 DCHECK(!stream_request_.get()); | 157 DCHECK(!stream_request_.get()); |
158 DCHECK(!stream_.get()); | 158 DCHECK(!stream_.get()); |
159 DCHECK_EQ(STATE_NONE, next_state_); | 159 DCHECK_EQ(STATE_NONE, next_state_); |
160 | 160 |
161 SSLConfig* ssl_config = response_.cert_request_info->is_proxy ? | 161 SSLConfig* ssl_config = response_.cert_request_info->is_proxy ? |
162 &proxy_ssl_config_ : &server_ssl_config_; | 162 &proxy_ssl_config_ : &server_ssl_config_; |
163 ssl_config->send_client_cert = true; | 163 ssl_config->send_client_cert = true; |
164 ssl_config->client_cert = client_cert; | 164 ssl_config->client_cert = client_cert; |
165 ssl_config->client_private_key = client_private_key; | 165 ssl_config->client_private_key = client_private_key; |
166 session_->ssl_client_auth_cache()->Add( | 166 session_->ssl_client_auth_cache()->Add( |
167 response_.cert_request_info->host_and_port, client_cert, | 167 response_.cert_request_info->host_and_port, std::move(client_cert), |
168 client_private_key); | 168 std::move(client_private_key)); |
169 // Reset the other member variables. | 169 // Reset the other member variables. |
170 // Note: this is necessary only with SSL renegotiation. | 170 // Note: this is necessary only with SSL renegotiation. |
171 ResetStateForRestart(); | 171 ResetStateForRestart(); |
172 next_state_ = STATE_CREATE_STREAM; | 172 next_state_ = STATE_CREATE_STREAM; |
173 int rv = DoLoop(OK); | 173 int rv = DoLoop(OK); |
174 if (rv == ERR_IO_PENDING) | 174 if (rv == ERR_IO_PENDING) |
175 callback_ = callback; | 175 callback_ = callback; |
176 return rv; | 176 return rv; |
177 } | 177 } |
178 | 178 |
(...skipping 1592 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1771 if (headers->IsRedirect(nullptr)) { | 1771 if (headers->IsRedirect(nullptr)) { |
1772 UMA_HISTOGRAM_BOOLEAN("Net.RedirectWithUnadvertisedContentEncoding", | 1772 UMA_HISTOGRAM_BOOLEAN("Net.RedirectWithUnadvertisedContentEncoding", |
1773 !result); | 1773 !result); |
1774 return true; | 1774 return true; |
1775 } | 1775 } |
1776 | 1776 |
1777 return result; | 1777 return result; |
1778 } | 1778 } |
1779 | 1779 |
1780 } // namespace net | 1780 } // namespace net |
OLD | NEW |