#pragma once #include #include #include #include #include "fastcgi_request.h" #include "stream_buffer.h" class FastCGIConn { public: FastCGIConn(int sock, const sockaddr_in6& client_addr, const std::function)>& callback, const std::unordered_set& headers); ~FastCGIConn(); [[nodiscard]] int Read(); [[nodiscard]] bool Write(const std::vector& vecs); private: const int sock_; const std::function)>& callback_; const std::unordered_set& headers_; uint64_t requests_ = 0; StreamBuffer buf_; std::unique_ptr request_; };