#ifndef seafire__routing__routing_table_hxx_ #define seafire__routing__routing_table_hxx_ #include #include #include #include #include #include #include #include namespace seafire::routing { class routing_table_t { public: struct find_result_t { host_parameters_t host_params; route_parameters_t route_params; server::request_handler_t const& handler; }; explicit routing_table_t(std::vector); std::vector const& endpoints() const; std::optional find_route(std::string const&, std::string const&) const; private: static bool match_host(std::string const&, std::string const&); std::vector endpoints_; }; } // namespace seafire::routing #endif