Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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_stream_factory_impl_job.h" | 5 #include "net/http/http_stream_factory_impl_job.h" |
| 6 | 6 |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "base/stl_util-inl.h" | 8 #include "base/stl_util-inl.h" |
| 9 #include "base/string_util.h" | 9 #include "base/string_util.h" |
| 10 #include "base/stringprintf.h" | 10 #include "base/stringprintf.h" |
| (...skipping 424 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 435 break; | 435 break; |
| 436 } | 436 } |
| 437 } while (rv != ERR_IO_PENDING && next_state_ != STATE_NONE); | 437 } while (rv != ERR_IO_PENDING && next_state_ != STATE_NONE); |
| 438 return rv; | 438 return rv; |
| 439 } | 439 } |
| 440 | 440 |
| 441 int HttpStreamFactoryImpl::Job::StartInternal() { | 441 int HttpStreamFactoryImpl::Job::StartInternal() { |
| 442 CHECK_EQ(STATE_NONE, next_state_); | 442 CHECK_EQ(STATE_NONE, next_state_); |
| 443 net_log_.BeginEvent(NetLog::TYPE_HTTP_STREAM_JOB, | 443 net_log_.BeginEvent(NetLog::TYPE_HTTP_STREAM_JOB, |
| 444 make_scoped_refptr(new NetLogStringParameter( | 444 make_scoped_refptr(new NetLogStringParameter( |
| 445 "url", request_info_.url.GetOrigin().spec()))); | 445 "url", request_info_.url.GetOrigin().spec()))); |
|
willchan no longer on Chromium
2011/06/07 19:53:29
I think that if the host mapping rules get applied
levin
2011/06/08 00:37:25
Am I suppose to call net_log_.AddEvent (and create
willchan no longer on Chromium
2011/06/08 05:27:31
Hah, no apologies needed. Obviously if you don't u
| |
| 446 next_state_ = STATE_RESOLVE_PROXY; | 446 next_state_ = STATE_RESOLVE_PROXY; |
| 447 int rv = RunLoop(OK); | 447 int rv = RunLoop(OK); |
| 448 DCHECK_EQ(ERR_IO_PENDING, rv); | 448 DCHECK_EQ(ERR_IO_PENDING, rv); |
| 449 return rv; | 449 return rv; |
| 450 } | 450 } |
| 451 | 451 |
| 452 int HttpStreamFactoryImpl::Job::DoResolveProxy() { | 452 int HttpStreamFactoryImpl::Job::DoResolveProxy() { |
| 453 DCHECK(!pac_request_); | 453 DCHECK(!pac_request_); |
| 454 | 454 |
| 455 next_state_ = STATE_RESOLVE_PROXY_COMPLETE; | 455 next_state_ = STATE_RESOLVE_PROXY_COMPLETE; |
| 456 | 456 |
| 457 origin_ = HostPortPair(request_info_.url.HostNoBrackets(), | 457 origin_ = HostPortPair(request_info_.url.HostNoBrackets(), |
| 458 request_info_.url.EffectiveIntPort()); | 458 request_info_.url.EffectiveIntPort()); |
| 459 | 459 |
| 460 origin_url_ = HttpStreamFactory::ApplyHostMappingRules( | |
| 461 request_info_.url, &origin_); | |
| 462 | |
| 460 if (request_info_.load_flags & LOAD_BYPASS_PROXY) { | 463 if (request_info_.load_flags & LOAD_BYPASS_PROXY) { |
| 461 proxy_info_.UseDirect(); | 464 proxy_info_.UseDirect(); |
| 462 return OK; | 465 return OK; |
| 463 } | 466 } |
| 464 | 467 |
| 465 return session_->proxy_service()->ResolveProxy( | 468 return session_->proxy_service()->ResolveProxy( |
| 466 request_info_.url, &proxy_info_, &io_callback_, &pac_request_, | 469 request_info_.url, &proxy_info_, &io_callback_, &pac_request_, |
| 467 net_log_); | 470 net_log_); |
| 468 } | 471 } |
| 469 | 472 |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 569 if (proxy_info_.is_https()) { | 572 if (proxy_info_.is_https()) { |
| 570 InitSSLConfig(proxy_info_.proxy_server().host_port_pair(), | 573 InitSSLConfig(proxy_info_.proxy_server().host_port_pair(), |
| 571 &ssl_config_for_proxy); | 574 &ssl_config_for_proxy); |
| 572 } | 575 } |
| 573 if (using_ssl_) { | 576 if (using_ssl_) { |
| 574 InitSSLConfig(origin_, &ssl_config_); | 577 InitSSLConfig(origin_, &ssl_config_); |
| 575 } | 578 } |
| 576 | 579 |
| 577 if (IsPreconnecting()) { | 580 if (IsPreconnecting()) { |
| 578 return ClientSocketPoolManager::PreconnectSocketsForHttpRequest( | 581 return ClientSocketPoolManager::PreconnectSocketsForHttpRequest( |
| 579 request_info_, | 582 origin_url_, |
| 583 request_info_.referrer, | |
| 584 request_info_.extra_headers, | |
| 585 request_info_.load_flags, | |
| 586 request_info_.priority, | |
| 580 session_, | 587 session_, |
| 581 proxy_info_, | 588 proxy_info_, |
| 582 ShouldForceSpdySSL(), | 589 ShouldForceSpdySSL(), |
| 583 want_spdy_over_npn, | 590 want_spdy_over_npn, |
| 584 ssl_config_, | 591 ssl_config_, |
| 585 ssl_config_for_proxy, | 592 ssl_config_for_proxy, |
| 586 net_log_, | 593 net_log_, |
| 587 num_streams_); | 594 num_streams_); |
| 588 } else { | 595 } else { |
| 589 return ClientSocketPoolManager::InitSocketHandleForHttpRequest( | 596 return ClientSocketPoolManager::InitSocketHandleForHttpRequest( |
| 590 request_info_, | 597 origin_url_, |
| 598 request_info_.referrer, | |
| 599 request_info_.extra_headers, | |
| 600 request_info_.load_flags, | |
| 601 request_info_.priority, | |
| 591 session_, | 602 session_, |
| 592 proxy_info_, | 603 proxy_info_, |
| 593 ShouldForceSpdySSL(), | 604 ShouldForceSpdySSL(), |
| 594 want_spdy_over_npn, | 605 want_spdy_over_npn, |
| 595 ssl_config_, | 606 ssl_config_, |
| 596 ssl_config_for_proxy, | 607 ssl_config_for_proxy, |
| 597 net_log_, | 608 net_log_, |
| 598 connection_.get(), | 609 connection_.get(), |
| 599 &io_callback_); | 610 &io_callback_); |
| 600 } | 611 } |
| (...skipping 457 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1058 bool HttpStreamFactoryImpl::Job::IsPreconnecting() const { | 1069 bool HttpStreamFactoryImpl::Job::IsPreconnecting() const { |
| 1059 DCHECK_GE(num_streams_, 0); | 1070 DCHECK_GE(num_streams_, 0); |
| 1060 return num_streams_ > 0; | 1071 return num_streams_ > 0; |
| 1061 } | 1072 } |
| 1062 | 1073 |
| 1063 bool HttpStreamFactoryImpl::Job::IsOrphaned() const { | 1074 bool HttpStreamFactoryImpl::Job::IsOrphaned() const { |
| 1064 return !IsPreconnecting() && !request_; | 1075 return !IsPreconnecting() && !request_; |
| 1065 } | 1076 } |
| 1066 | 1077 |
| 1067 } // namespace net | 1078 } // namespace net |
| OLD | NEW |