From 52634627bc3be9365180e52d7a96c9ca8497f3dc Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Fri, 17 Feb 2006 13:35:04 +0000 Subject: Initial import --- src/HttpProxyResponseCommand.cc | 45 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/HttpProxyResponseCommand.cc (limited to 'src/HttpProxyResponseCommand.cc') diff --git a/src/HttpProxyResponseCommand.cc b/src/HttpProxyResponseCommand.cc new file mode 100644 index 00000000..e62d3939 --- /dev/null +++ b/src/HttpProxyResponseCommand.cc @@ -0,0 +1,45 @@ +/* */ +#include "HttpProxyResponseCommand.h" +#include "HttpRequestCommand.h" +#include "DlRetryEx.h" +#include "HttpConnection.h" +#include "message.h" + +HttpProxyResponseCommand::HttpProxyResponseCommand(int cuid, Request* req, DownloadEngine* e, Socket* s):AbstractCommand(cuid, req, e, s) { + AbstractCommand::checkSocketIsReadable = true; +} + +HttpProxyResponseCommand::~HttpProxyResponseCommand() {} + +bool HttpProxyResponseCommand::executeInternal(Segment segment) { + HttpHeader headers; + HttpConnection httpConnection(cuid, socket, e->option, e->logger); + int status = httpConnection.receiveResponse(headers); + if(status != 200) { + throw new DlRetryEx(EX_PROXY_CONNECTION_FAILED); + } + HttpRequestCommand* command = new HttpRequestCommand(cuid, req, e, socket); + e->commands.push(command); + return true; +} + -- cgit