#ifndef REQUEST_H #define REQUEST_H #include #include #include #include #include "handler_instance.h" using namespace brynet; using namespace brynet::net; using namespace brynet::net::http; class Request { public: const HTTPParser *http_parser; const HttpSession::Ptr *session; HttpResponse *response; uint32_t current_middleware_index; HandlerInstance handler_instance; std::vector *middleware_stack; void next_stage(); void send(); void reset(); Request(); ~Request(); }; class RequestPool { public: static Request *get_request(); static void return_request(Request *request); RequestPool(); ~RequestPool(); protected: static std::mutex _mutex; static std::vector _requests; }; #endif