/* */ #ifndef D_HTTP_SKIP_RESPONSE_COMMAND_H #define D_HTTP_SKIP_RESPONSE_COMMAND_H #include "AbstractCommand.h" namespace aria2 { class HttpConnection; class HttpResponse; class StreamFilter; class HttpSkipResponseCommand : public AbstractCommand { private: // hole from AbstractCommand (5 bytes on x86_64) bool sinkFilterOnly_; int64_t totalLength_; int64_t receivedBytes_; std::shared_ptr httpConnection_; std::unique_ptr httpResponse_; std::unique_ptr streamFilter_; bool processResponse(); void poolConnection() const; protected: virtual bool executeInternal() CXX11_OVERRIDE; public: HttpSkipResponseCommand(cuid_t cuid, const std::shared_ptr& req, const std::shared_ptr& fileEntry, RequestGroup* requestGroup, const std::shared_ptr& httpConnection, std::unique_ptr httpResponse, DownloadEngine* e, const std::shared_ptr& s); virtual ~HttpSkipResponseCommand(); void installStreamFilter(std::unique_ptr streamFilter); void disableSocketCheck(); }; } // namespace aria2 #endif // D_HTTP_SKIP_RESPONSE_COMMAND_H