CppServer  1.0.0.0
C++ Server Library
Public Member Functions | Protected Member Functions | List of all members
CppServer::Asio::WebServer Class Reference

HTTP Web server. More...

#include <web_server.h>

Inheritance diagram for CppServer::Asio::WebServer:
CppServer::Asio::WebSSLServer

Public Member Functions

 WebServer (std::shared_ptr< Service > service, int port)
 Initialize HTTP Web server with a given Asio service and port number. More...
 
 WebServer (std::shared_ptr< Service > service, const std::string &address, int port)
 Initialize HTTP Web server with a given Asio service, IP address and port number. More...
 
 WebServer (const WebServer &)=delete
 
 WebServer (WebServer &&)=default
 
virtual ~WebServer ()=default
 
WebServeroperator= (const WebServer &)=delete
 
WebServeroperator= (WebServer &&)=default
 
std::shared_ptr< Service > & service () noexcept
 Get the Asio service. More...
 
std::shared_ptr< restbed::Service > & server () noexcept
 Get the Restbed server. More...
 
std::shared_ptr< restbed::Settings > & settings () noexcept
 Get the Restbed settings. More...
 
bool IsStarted () const noexcept
 Is the server started? More...
 
bool Start ()
 Start the server. More...
 
bool Stop ()
 Stop the server. More...
 
bool Restart ()
 Restart the server. More...
 

Protected Member Functions

virtual void onStarted ()
 Handle server started notification. More...
 
virtual void onStopped ()
 Handle server stopped notification. More...
 

Detailed Description

HTTP Web server.

HTTP Web server is used to provide HTTP interface to handle different kind of Web requests such as POST, GET, PUT, DELETE, etc.

Thread-safe.

https://github.com/corvusoft/restbed

Examples:
web_server.cpp.

Definition at line 28 of file web_server.h.

Constructor & Destructor Documentation

◆ WebServer() [1/4]

CppServer::Asio::WebServer::WebServer ( std::shared_ptr< Service service,
int  port 
)
explicit

Initialize HTTP Web server with a given Asio service and port number.

Parameters
service- Asio service
port- Port number

Definition at line 14 of file web_server.cpp.

◆ WebServer() [2/4]

CppServer::Asio::WebServer::WebServer ( std::shared_ptr< Service service,
const std::string &  address,
int  port 
)
explicit

Initialize HTTP Web server with a given Asio service, IP address and port number.

Parameters
service- Asio service
address- IP address
port- Port number

Definition at line 31 of file web_server.cpp.

◆ WebServer() [3/4]

CppServer::Asio::WebServer::WebServer ( const WebServer )
delete

◆ WebServer() [4/4]

CppServer::Asio::WebServer::WebServer ( WebServer &&  )
default

◆ ~WebServer()

virtual CppServer::Asio::WebServer::~WebServer ( )
virtualdefault

Member Function Documentation

◆ IsStarted()

bool CppServer::Asio::WebServer::IsStarted ( ) const
inlinenoexcept

Is the server started?

Definition at line 59 of file web_server.h.

◆ onStarted()

virtual void CppServer::Asio::WebServer::onStarted ( )
inlineprotectedvirtual

Handle server started notification.

Definition at line 79 of file web_server.h.

◆ onStopped()

virtual void CppServer::Asio::WebServer::onStopped ( )
inlineprotectedvirtual

Handle server stopped notification.

Definition at line 81 of file web_server.h.

◆ operator=() [1/2]

WebServer& CppServer::Asio::WebServer::operator= ( const WebServer )
delete

◆ operator=() [2/2]

WebServer& CppServer::Asio::WebServer::operator= ( WebServer &&  )
default

◆ Restart()

bool CppServer::Asio::WebServer::Restart ( )

Restart the server.

Returns
'true' if the server was successfully restarted, 'false' if the server failed to restart

Definition at line 95 of file web_server.cpp.

◆ server()

std::shared_ptr<restbed::Service>& CppServer::Asio::WebServer::server ( )
inlinenoexcept

Get the Restbed server.

Examples:
web_server.cpp, and web_ssl_server.cpp.

Definition at line 54 of file web_server.h.

◆ service()

std::shared_ptr<Service>& CppServer::Asio::WebServer::service ( )
inlinenoexcept

Get the Asio service.

Definition at line 52 of file web_server.h.

◆ settings()

std::shared_ptr<restbed::Settings>& CppServer::Asio::WebServer::settings ( )
inlinenoexcept

Get the Restbed settings.

Definition at line 56 of file web_server.h.

◆ Start()

bool CppServer::Asio::WebServer::Start ( )

Start the server.

Returns
'true' if the server was successfully started, 'false' if the server failed to start

Definition at line 49 of file web_server.cpp.

◆ Stop()

bool CppServer::Asio::WebServer::Stop ( )

Stop the server.

Returns
'true' if the server was successfully stopped, 'false' if the server is already stopped

Definition at line 72 of file web_server.cpp.


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