#pragma once #include #include class TSocket; /// Потоки ввода/вывода для получения запросов и отправки ответов HTTP-сервера. class THttpServerConn { public: explicit THttpServerConn(const TSocket& s); THttpServerConn(const TSocket& s, size_t outputBufferSize); ~THttpServerConn(); THttpInput* Input() noexcept; THttpOutput* Output() noexcept; inline const THttpInput* Input() const noexcept { return const_cast(this)->Input(); } inline const THttpOutput* Output() const noexcept { return const_cast(this)->Output(); } /// Проверяет, можно ли установить режим, при котором соединение с сервером /// не завершается после окончания транзакции. inline bool CanBeKeepAlive() const noexcept { return Output()->CanBeKeepAlive(); } void Reset(); private: class TImpl; THolder Impl_; };