10Duke Scale C++ Client
Loading...
Searching...
No Matches
tenduke::http::server::AbstractHTTPServer Class Reference

#include <AbstractHTTPServer.h>

Detailed Description

Abstract base class of a HTTP server.

Inheritance diagram for tenduke::http::server::AbstractHTTPServer:
tenduke::http::server::HTTPServer tenduke::test::fakes::FakeHttpServer

Public Member Functions

 AbstractHTTPServer (std::unique_ptr< tenduke::osa::Socket > socket)
 Constructs new instance.
 
void registerRoute (const std::string &route, const std::shared_ptr< tenduke::http::server::HTTPRequestHandler > &handler)
 Register a route.
 
std::uint16_t getPort () override
 Returns the port where this simple server is listening.
 
void start () override
 Starts the server.
 
void stop () override
 Stops the server.
 

Protected Member Functions

HTTPRequest parseRequest (const std::shared_ptr< tenduke::osa::Socket > &requestSocket) const
 Parses HTTP request from socket.
 
void handleRequest (tenduke::http::server::HTTPRequest request, tenduke::http::server::HTTPResponse response) const
 Handles HTTP request.
 

Protected Attributes

std::atomic_bool running
 Flag to indicate if the server is running.
 
std::map< std::string, std::shared_ptr< tenduke::http::server::HTTPRequestHandler > > routes
 Routes.
 

Constructor & Destructor Documentation

◆ AbstractHTTPServer()

tenduke::http::server::AbstractHTTPServer::AbstractHTTPServer ( std::unique_ptr< tenduke::osa::Socket socket)
explicit

Constructs new instance.

Parameters
socketsocket where this server is listening in

Member Function Documentation

◆ getPort()

std::uint16_t tenduke::http::server::AbstractHTTPServer::getPort ( )
overridevirtual

Returns the port where this simple server is listening.

Returns
-

Implements tenduke::http::server::HTTPServer.

Reimplemented in tenduke::test::fakes::FakeHttpServer.

◆ handleRequest()

void tenduke::http::server::AbstractHTTPServer::handleRequest ( tenduke::http::server::HTTPRequest  request,
tenduke::http::server::HTTPResponse  response 
) const
protected

Handles HTTP request.

Parameters
request-
response-

◆ parseRequest()

xdhttpsrv::HTTPRequest tenduke::http::server::AbstractHTTPServer::parseRequest ( const std::shared_ptr< tenduke::osa::Socket > &  requestSocket) const
protected

Parses HTTP request from socket.

Parameters
requestSocket-
Returns
-

◆ registerRoute()

void tenduke::http::server::AbstractHTTPServer::registerRoute ( const std::string &  route,
const std::shared_ptr< tenduke::http::server::HTTPRequestHandler > &  handler 
)

Register a route.

Parameters
route-
handler-

◆ start()

void tenduke::http::server::AbstractHTTPServer::start ( )
overridevirtual

Starts the server.

Implements tenduke::http::server::HTTPServer.

Reimplemented in tenduke::test::fakes::FakeHttpServer.

◆ stop()

void tenduke::http::server::AbstractHTTPServer::stop ( )
overridevirtual

Stops the server.

Implements tenduke::http::server::HTTPServer.


The documentation for this class was generated from the following files: