/* */ #include "HttpRequestCommand.h" #include #include "Request.h" #include "DownloadEngine.h" #include "RequestGroup.h" #include "HttpResponseCommand.h" #include "HttpConnection.h" #include "HttpRequest.h" #include "SegmentMan.h" #include "Segment.h" #include "Option.h" #include "SocketCore.h" #include "prefs.h" #include "a2functional.h" #include "util.h" #include "CookieStorage.h" #include "AuthConfigFactory.h" #include "AuthConfig.h" #include "DownloadContext.h" #include "PieceStorage.h" #include "DefaultBtProgressInfoFile.h" #include "Logger.h" #include "LogFactory.h" #include "fmt.h" #include "SocketRecvBuffer.h" namespace aria2 { HttpRequestCommand::HttpRequestCommand( cuid_t cuid, const std::shared_ptr& req, const std::shared_ptr& fileEntry, RequestGroup* requestGroup, const std::shared_ptr& httpConnection, DownloadEngine* e, const std::shared_ptr& s) : AbstractCommand(cuid, req, fileEntry, requestGroup, e, s, httpConnection->getSocketRecvBuffer()), httpConnection_(httpConnection) { setTimeout(std::chrono::seconds(getOption()->getAsInt(PREF_CONNECT_TIMEOUT))); disableReadCheckSocket(); setWriteCheckSocket(getSocket()); } HttpRequestCommand::~HttpRequestCommand() = default; namespace { std::unique_ptr createHttpRequest(const std::shared_ptr& req, const std::shared_ptr& fileEntry, const std::shared_ptr& segment, const std::shared_ptr