Fawkes API  Fawkes Development Version
fawkes::WebRequestDispatcher Class Reference

Web request dispatcher. More...

#include "request_dispatcher.h"

Public Member Functions

 WebRequestDispatcher (WebUrlManager *url_manager, WebPageHeaderGenerator *headergen=0, WebPageFooterGenerator *footergen=0)
 Constructor. More...
 
 ~WebRequestDispatcher ()
 Destructor. More...
 
void setup_basic_auth (const char *realm, WebUserVerifier *verifier)
 Setup basic authentication. More...
 

Static Public Member Functions

static int process_request_cb (void *callback_data, struct MHD_Connection *connection, const char *url, const char *method, const char *version, const char *upload_data, size_t *upload_data_size, void **session_data)
 Process request callback for libmicrohttpd. More...
 

Detailed Description

Web request dispatcher.

Takes web request received via a webserver run by libmicrohttpd and dispatches pages to registered WebRequestProcessor instances or gives a 404 error if no processor was registered for the given base url.

Author
Tim Niemueller

Definition at line 45 of file request_dispatcher.h.

Constructor & Destructor Documentation

fawkes::WebRequestDispatcher::WebRequestDispatcher ( WebUrlManager url_manager,
WebPageHeaderGenerator headergen = 0,
WebPageFooterGenerator footergen = 0 
)

Constructor.

Parameters
url_managerURL manager to use for URL to processor mapping
headergenpage header generator
footergenpage footer generator

Definition at line 68 of file request_dispatcher.cpp.

fawkes::WebRequestDispatcher::~WebRequestDispatcher ( )

Destructor.

Definition at line 80 of file request_dispatcher.cpp.

Member Function Documentation

int fawkes::WebRequestDispatcher::process_request_cb ( void *  callback_data,
struct MHD_Connection *  connection,
const char *  url,
const char *  method,
const char *  version,
const char *  upload_data,
size_t *  upload_data_size,
void **  session_data 
)
static

Process request callback for libmicrohttpd.

Parameters
callback_datainstance of WebRequestDispatcher to call
connectionlibmicrohttpd connection instance
urlURL, may contain escape sequences
methodHTTP method
versionHTTP version
upload_datauploaded data
upload_data_sizesize of upload_data parameter
session_datasession data pointer
Returns
appropriate return code for libmicrohttpd

Definition at line 122 of file request_dispatcher.cpp.

void fawkes::WebRequestDispatcher::setup_basic_auth ( const char *  realm,
WebUserVerifier verifier 
)

Setup basic authentication.

Parameters
realmauthentication realm to display to the user. If NULL basic authentication will be disabled.
verifierverifier to use for checking credentials. If NULL basic authentication will be disabled.

Definition at line 93 of file request_dispatcher.cpp.


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