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