Class HttpServer#
Defined in File http_server.hpp
Class Documentation#
-
class HttpServer#
A simple HTTP server that listens for POST or PUT requests on a given endpoint.
The server is started on a separate thread(s) and will call the provided payload_parse_fn_t function when an incoming request is received. The payload_parse_fn_t function is expected to return a tuple conforming to
parse_status_t
(ex:std::make_tuple(200, "text/plain"s, "OK"s, nullptr)
).- Param payload_parse_fn:
The function that will be called when a POST request is received.
- Param bind_address:
The address to bind the server to.
- Param port:
The port to bind the server to.
- Param endpoint:
The endpoint to listen for POST requests on.
- Param method:
The HTTP method to listen for.
- Param num_threads:
The number of threads to use for the server.
- Param max_payload_size:
The maximum size in bytes of the payload that the server will accept in a single request.
- Param request_timeout:
The timeout for a request.
Public Functions
- HttpServer(
- std::vector<HttpEndpoint> endpoints,
- std::string bind_address = "127.0.0.1",
- unsigned short port = 8080,
- unsigned short num_threads = 1,
- std::size_t max_payload_size = DefaultMaxPayloadSize,
- std::chrono::seconds request_timeout = std::chrono::seconds(30)
-
~HttpServer()#
-
void start()#
-
void stop()#
-
bool is_running() const#