/* */ #include "HttpRequestCommand.h" #include "HttpResponseCommand.h" #include "HttpConnection.h" #include "prefs.h" HttpRequestCommand::HttpRequestCommand(int cuid, Request* req, DownloadEngine* e, const SocketHandle& s) :AbstractCommand(cuid, req, e, s) { disableReadCheckSocket(); setWriteCheckSocket(socket); } HttpRequestCommand::~HttpRequestCommand() {} bool HttpRequestCommand::executeInternal(Segment& segment) { socket->setBlockingMode(); if(req->getProtocol() == "https") { socket->initiateSecureConnection(); } if(!e->option->getAsBool(PREF_HTTP_KEEP_ALIVE)) { req->setKeepAlive(false); } HttpConnection http(cuid, socket, req, e->option); req->segment = segment; http.sendRequest(segment); Command* command = getNextCommand(); e->commands.push_back(command); return true; } Command* HttpRequestCommand::getNextCommand() const { return new HttpResponseCommand(cuid, req, e, socket); }