28 #include <cloe/stack.hpp>
44 [[nodiscard]]
virtual std::unique_ptr<ServerRegistrar> clone()
const = 0;
46 [[nodiscard]]
virtual std::unique_ptr<ServerRegistrar> with_prefix(
const std::string& static_prefix,
47 const std::string& api_prefix)
const = 0;
49 virtual void register_static_handler(
const std::string& endpoint,
cloe::Handler h) = 0;
51 virtual void register_api_handler(
const std::string& endpoint,
cloe::HandlerType t,
67 virtual ~
Server() =
default;
72 [[nodiscard]]
const cloe::ServerConf&
config()
const {
return config_; }
126 [[nodiscard]]
virtual std::vector<std::string>
endpoints()
const = 0;
139 cloe::Logger logger()
const {
return cloe::logger::get(
"cloe"); }
140 cloe::ServerConf config_;
146 std::unique_ptr<Server> make_server(
const cloe::ServerConf&);
Definition: registrar.hpp:121
Definition: server.hpp:40
Definition: server.hpp:60
virtual std::vector< std::string > endpoints() const =0
virtual void enroll(cloe::Registrar &r)=0
virtual bool is_listening() const =0
virtual void refresh_buffer()=0
virtual void refresh_buffer_start_stream()=0
virtual std::unique_ptr< ServerRegistrar > server_registrar()=0
virtual void init_stream(const std::string &filename)=0
const cloe::ServerConf & config() const
Definition: server.hpp:72
virtual bool is_streaming() const =0
std::function< void(const Request &, Response &)> Handler
Definition: cloe_fwd.hpp:65
HandlerType
Definition: registrar.hpp:88