/* */ #ifndef _D_HTTP_RESPONSE_COMMAND_H_ #define _D_HTTP_RESPONSE_COMMAND_H_ #include "AbstractCommand.h" #include "HttpConnection.h" class HttpResponseCommand : public AbstractCommand { private: void checkResponse(int status, const Segment& segment); bool handleRedirect(const string& url, const HttpHeader& headers); bool handleDefaultEncoding(const HttpHeader& headers); bool handleOtherEncoding(const string& transferEncoding, const HttpHeader& headers); void createHttpDownloadCommand(const string& transferEncoding = ""); void retrieveCookie(const HttpHeader& headers); /** * Returned filename is URL-decoded. */ string determinFilename(const HttpHeader& headers); HttpConnection* http; protected: bool executeInternal(Segment segment); public: HttpResponseCommand(int cuid, Request* req, DownloadEngine* e, const SocketHandle& s); ~HttpResponseCommand(); }; #endif // _D_HTTP_RESPONSE_COMMAND_H_