summaryrefslogtreecommitdiff
path: root/src/HttpDownloadCommand.cc
diff options
context:
space:
mode:
authorTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2008-11-05 12:30:22 +0000
committerTatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>2008-11-05 12:30:22 +0000
commit93a49e484065d47b5d8426ab3c5a5f12ec8899d4 (patch)
tree4d1e0eb211d549393551cc8579a2b3aa0bf2f762 /src/HttpDownloadCommand.cc
parent4797b0e72dc8de97a04670f66a98a249065052fc (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.cc18
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();