Fawkes API
Fawkes Development Version
|
Encapsulation of the libmicrohttpd webserver. More...
#include <>>
Public Member Functions | |
WebServer (unsigned short int port, WebRequestDispatcher *dispatcher, fawkes::Logger *logger=0, bool enable_ipv4=true, bool enable_ipv6=true) | |
Constructor. More... | |
WebServer (unsigned short int port, WebRequestDispatcher *dispatcher, const char *key_pem_filepath, const char *cert_pem_filepath, const char *cipher_suite=WEBVIEW_DEFAULT_CIPHERS, fawkes::Logger *logger=0, bool enable_ipv4=true, bool enable_ipv6=true) | |
SSL constructor. More... | |
~WebServer () | |
Destructor. More... | |
void | process () |
Process requests. More... | |
void | setup_basic_auth (const char *realm, WebUserVerifier *verifier) |
Setup basic authentication. More... | |
void | setup_request_manager (WebRequestManager *request_manager) |
Setup this server as request manager. More... | |
void | setup_access_log (const char *filename) |
Setup access log. More... | |
unsigned int | active_requests () const |
Get number of active requests. More... | |
Time | last_request_completion_time () const |
Get time when last request was completed. More... | |
Encapsulation of the libmicrohttpd webserver.
This class opens a port serving websites and calls the supplied dispatcher for requests.
fawkes::WebServer::WebServer | ( | unsigned short int | port, |
WebRequestDispatcher * | dispatcher, | ||
fawkes::Logger * | logger = 0 , |
||
bool | enable_ipv4 = true , |
||
bool | enable_ipv6 = true |
||
) |
Constructor.
port | TCP port to listen on |
dispatcher | dispatcher to call for requests |
logger | optional logger, used to output possible run-time problems |
enable_ipv4 | enable IPv4 support |
enable_ipv6 | enable IPv6 support |
Definition at line 58 of file server.cpp.
References fawkes::WebRequestDispatcher::process_request_cb(), fawkes::WebRequestDispatcher::request_completed_cb(), and fawkes::WebRequestDispatcher::uri_log_cb().
fawkes::WebServer::WebServer | ( | unsigned short int | port, |
WebRequestDispatcher * | dispatcher, | ||
const char * | key_pem_filepath, | ||
const char * | cert_pem_filepath, | ||
const char * | cipher_suite = WEBVIEW_DEFAULT_CIPHERS , |
||
fawkes::Logger * | logger = 0 , |
||
bool | enable_ipv4 = true , |
||
bool | enable_ipv6 = true |
||
) |
SSL constructor.
port | TCP port to listen on |
dispatcher | dispatcher to call for requests |
key_pem_filepath | path to PEM formatted file containing the key |
cert_pem_filepath | path to PEM formatted file containing the certificate |
cipher_suite | which cipers to use for SSL/TLS connections |
logger | optional logger, used to output possible run-time problems |
enable_ipv4 | enable IPv4 support |
enable_ipv6 | enable IPv6 support |
Definition at line 109 of file server.cpp.
References fawkes::WebRequestDispatcher::process_request_cb(), fawkes::WebRequestDispatcher::request_completed_cb(), and fawkes::WebRequestDispatcher::uri_log_cb().
fawkes::WebServer::~WebServer | ( | ) |
Destructor.
Definition at line 159 of file server.cpp.
unsigned int fawkes::WebServer::active_requests | ( | ) | const |
Get number of active requests.
Definition at line 252 of file server.cpp.
References fawkes::WebRequestDispatcher::active_requests().
Referenced by fawkes::WebRequestManager::num_active_requests().
Time fawkes::WebServer::last_request_completion_time | ( | ) | const |
Get time when last request was completed.
Definition at line 261 of file server.cpp.
References fawkes::WebRequestDispatcher::last_request_completion_time().
Referenced by fawkes::WebRequestManager::last_request_completion_time().
void fawkes::WebServer::process | ( | ) |
Process requests.
This method waits for new requests and processes them when received.
Definition at line 271 of file server.cpp.
References fawkes::Thread::CANCEL_DISABLED, fawkes::Logger::log_warn(), and fawkes::Thread::set_cancel_state().
Referenced by XmlRpcThread::loop(), and WebviewThread::loop().
void fawkes::WebServer::setup_access_log | ( | const char * | filename | ) |
Setup access log.
filename | access log file name |
Definition at line 231 of file server.cpp.
References fawkes::WebRequestDispatcher::setup_access_log().
Referenced by WebviewThread::init().
void fawkes::WebServer::setup_basic_auth | ( | const char * | realm, |
WebUserVerifier * | verifier | ||
) |
Setup basic authentication.
realm | authentication realm to display to the user |
verifier | verifier to use for checking credentials |
Definition at line 221 of file server.cpp.
References fawkes::WebRequestDispatcher::setup_basic_auth().
Referenced by WebviewThread::init().
void fawkes::WebServer::setup_request_manager | ( | WebRequestManager * | request_manager | ) |
Setup this server as request manager.
The registration will be cancelled automatically on destruction.
request_manager | request manager to register with |
Definition at line 242 of file server.cpp.
Referenced by WebviewThread::init().