| Index: net/http/http_stream_factory_impl_job.cc
|
| diff --git a/net/http/http_stream_factory_impl_job.cc b/net/http/http_stream_factory_impl_job.cc
|
| index 1d09da79457183d2a5e19694c20d4d76a432fdec..e5403f8dcdfac317441f1a4dfe67767123270f4d 100644
|
| --- a/net/http/http_stream_factory_impl_job.cc
|
| +++ b/net/http/http_stream_factory_impl_job.cc
|
| @@ -986,13 +986,23 @@ int HttpStreamFactoryImpl::Job::DoInitConnection() {
|
| return ERR_NOT_IMPLEMENTED;
|
| }
|
| HostPortPair destination;
|
| - std::string origin_host;
|
| SSLConfig* ssl_config;
|
| + GURL url(request_info_.url);
|
| if (proxy_info_.is_quic()) {
|
| // A proxy's certificate is expected to be valid for the proxy hostname.
|
| destination = proxy_info_.proxy_server().host_port_pair();
|
| - origin_host = destination.host();
|
| ssl_config = &proxy_ssl_config_;
|
| + GURL::Replacements replacements;
|
| + replacements.SetSchemeStr("https");
|
| + replacements.SetHostStr(destination.host());
|
| + const std::string new_port = base::UintToString(destination.port());
|
| + replacements.SetPortStr(new_port);
|
| + replacements.ClearUsername();
|
| + replacements.ClearPassword();
|
| + replacements.ClearPath();
|
| + replacements.ClearQuery();
|
| + replacements.ClearRef();
|
| + url = url.ReplaceComponents(replacements);
|
|
|
| // If QUIC is disabled on the destination port, return error.
|
| if (session_->quic_stream_factory()->IsQuicDisabled(destination.port()))
|
| @@ -1003,12 +1013,12 @@ int HttpStreamFactoryImpl::Job::DoInitConnection() {
|
| // for the origin of the request (in addition to being valid for the
|
| // server itself).
|
| destination = server_;
|
| - origin_host = origin_url_.host();
|
| ssl_config = &server_ssl_config_;
|
| }
|
| +
|
| int rv =
|
| quic_request_.Request(destination, request_info_.privacy_mode,
|
| - ssl_config->GetCertVerifyFlags(), origin_host,
|
| + ssl_config->GetCertVerifyFlags(), url,
|
| request_info_.method, net_log_, io_callback_);
|
| if (rv == OK) {
|
| using_existing_quic_session_ = true;
|
|
|