diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-11-05 12:30:22 +0000 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2008-11-05 12:30:22 +0000 |
| commit | 93a49e484065d47b5d8426ab3c5a5f12ec8899d4 (patch) | |
| tree | 4d1e0eb211d549393551cc8579a2b3aa0bf2f762 /src/HttpDownloadCommand.cc | |
| parent | 4797b0e72dc8de97a04670f66a98a249065052fc (diff) | |
2008-11-05 Tatsuhiro Tsujikawa <tujikawa at rednoah dot com>
Added the ability to pool proxy connection.
The conneciton in FTP with proxy-method=GET is not pooled.
Proxy-Connection header will not be sent when sending CONNECT
method.
* src/DownloadEngine.cc
* src/DownloadEngine.h
* src/FtpFinishDownloadCommand.cc
* src/FtpInitiateConnectionCommand.cc
* src/FtpNegotiationCommand.cc
* src/HttpDownloadCommand.cc
* src/HttpInitiateConnectionCommand.cc
* src/HttpRequest.cc
* src/HttpRequest.h
* src/HttpResponse.cc
* src/HttpSkipResponseCommand.cc
* test/HttpRequestTest.cc
* test/HttpResponseTest.cc
Diffstat (limited to 'src/HttpDownloadCommand.cc')
| -rw-r--r-- | src/HttpDownloadCommand.cc | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/src/HttpDownloadCommand.cc b/src/HttpDownloadCommand.cc index c6870dc2..cfb3e6fd 100644 --- a/src/HttpDownloadCommand.cc +++ b/src/HttpDownloadCommand.cc @@ -63,17 +63,13 @@ bool HttpDownloadCommand::prepareForNextSegment() { e->commands.push_back(command); return true; } else { - if(!isProxyDefined()) { - if(req->isPipeliningEnabled() || - (req->isKeepAliveEnabled() && - ((!_transferEncodingDecoder.isNull() && - _requestGroup->downloadFinished()) || - (uint64_t)_segments.front()->getPositionToWrite() == - _requestGroup->getTotalLength()))) { - std::pair<std::string, uint16_t> peerInfo; - socket->getPeerInfo(peerInfo); - e->poolSocket(peerInfo.first, peerInfo.second, socket); - } + if(req->isPipeliningEnabled() || + (req->isKeepAliveEnabled() && + ((!_transferEncodingDecoder.isNull() && + _requestGroup->downloadFinished()) || + (uint64_t)_segments.front()->getPositionToWrite() == + _requestGroup->getTotalLength()))) { + e->poolSocket(req, isProxyDefined(), socket); } return DownloadCommand::prepareForNextSegment(); |
