From e9e215dc1f37827fabd87d6fb7ed99afa843d53a Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Sat, 27 Sep 2008 16:06:34 +0000 Subject: 2008-09-27 Tatsuhiro Tsujikawa Fixed the bug that HTTPS download fails. * src/AbstractCommand.cc * src/AbstractCommand.h * src/DownloadCommand.cc * src/FtpConnection.cc * src/HttpConnection.cc * src/HttpRequestCommand.cc * src/HttpResponseCommand.cc * src/HttpSkipResponseCommand.cc * src/MSEHandshake.cc * src/PeerConnection.cc * src/SocketCore.cc * src/SocketCore.h Fixed the bug that aria2 doesn't download whole content body and cannot reuse connection if chunked transfer encoding and gzip content encoding are set. * src/DownloadCommand.cc * src/HttpSkipResponseCommand.cc --- src/AbstractCommand.cc | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/AbstractCommand.cc') diff --git a/src/AbstractCommand.cc b/src/AbstractCommand.cc index a525351b..46c1b9d2 100644 --- a/src/AbstractCommand.cc +++ b/src/AbstractCommand.cc @@ -245,6 +245,16 @@ void AbstractCommand::setReadCheckSocket(const SocketHandle& socket) { } } +void AbstractCommand::setReadCheckSocketIf +(const SharedHandle& socket, bool pred) +{ + if(pred) { + setReadCheckSocket(socket); + } else { + disableReadCheckSocket(); + } +} + void AbstractCommand::disableWriteCheckSocket() { if(checkSocketIsWritable) { e->deleteSocketForWriteCheck(writeCheckTarget, this); @@ -271,6 +281,16 @@ void AbstractCommand::setWriteCheckSocket(const SocketHandle& socket) { } } +void AbstractCommand::setWriteCheckSocketIf +(const SharedHandle& socket, bool pred) +{ + if(pred) { + setWriteCheckSocket(socket); + } else { + disableWriteCheckSocket(); + } +} + static bool isProxyGETRequest(const std::string& protocol, const Option* option) { return -- cgit