/* */ #ifndef _D_HTTP_SERVER_H_ #define _D_HTTP_SERVER_H_ #include "common.h" #include #include "SharedHandle.h" #include "SocketBuffer.h" namespace aria2 { class SocketCore; class HttpHeader; class HttpHeaderProcessor; class DownloadEngine; class Logger; class HttpServer { private: SharedHandle _socket; SocketBuffer _socketBuffer; DownloadEngine* _e; SharedHandle _headerProcessor; Logger* _logger; SharedHandle _lastRequestHeader; public: HttpServer(const SharedHandle& socket, DownloadEngine* e); ~HttpServer(); SharedHandle receiveRequest(); void feedResponse(const std::string& text); ssize_t sendResponse(); bool sendBufferIsEmpty() const; bool supportsPersistentConnection() const; }; } // namespace aria2 #endif // _D_HTTP_SERVER_H_