![]() |
Open Lighting Architecture
Latest Git
|
The base HTTP Server.
This is a simple HTTP Server built around libmicrohttpd. It runs in a separate thread.


Classes | |
| struct | HTTPServerOptions |
Public Types | |
| typedef ola::Callback2< int, const HTTPRequest *, HTTPResponse * > | BaseHTTPCallback |
Public Member Functions | |
| HTTPServer (const HTTPServerOptions &options) | |
| Setup the HTTP server. More... | |
| virtual | ~HTTPServer () |
| Destroy this object. | |
| bool | Init () |
| Setup the HTTP server. More... | |
| void * | Run () |
| The entry point into the new thread. | |
| void | Stop () |
| Stop the HTTP server. | |
| void | UpdateSockets () |
| This is run every loop iteration to update the list of sockets in the SelectServer from MHD. | |
| void | HandleHTTPIO () |
| int | DispatchRequest (const HTTPRequest *request, HTTPResponse *response) |
| Call the appropriate handler. | |
| bool | RegisterHandler (const std::string &path, BaseHTTPCallback *handler) |
| Register a handler. More... | |
| bool | RegisterFile (const std::string &path, const std::string &content_type) |
| Register a static file. The root of the URL corresponds to the data dir. More... | |
| bool | RegisterFile (const std::string &path, const std::string &file, const std::string &content_type) |
| Register a static file. More... | |
| void | RegisterDefaultHandler (BaseHTTPCallback *handler) |
| Set the default handler. More... | |
| void | Handlers (std::vector< std::string > *handlers) const |
| Return a list of all handlers registered. | |
| const std::string | DataDir () const |
| int | ServeError (HTTPResponse *response, const std::string &details="") |
| Serve an error. More... | |
| int | ServeNotFound (HTTPResponse *response) |
| Serve a 404. More... | |
| int | ServeStaticContent (const std::string &path, const std::string &content_type, HTTPResponse *response) |
| Return the contents of a file. | |
| ola::io::SelectServer * | SelectServer () |
Public Member Functions inherited from ola::thread::Thread | |
| Thread (const Options &options=Options()) | |
| Create a new thread with the specified thread options. More... | |
| virtual | ~Thread () |
| Destructor. | |
| virtual bool | Start () |
| Start the thread and wait for the thread to be running. More... | |
| virtual bool | FastStart () |
| Start the thread and return immediately. More... | |
| virtual bool | Join (void *ptr=NULL) |
| Join this thread. More... | |
| bool | IsRunning () |
| Check if the thread is running. More... | |
| ThreadId | Id () const |
| Return the thread id. More... | |
| std::string | Name () const |
| Return the thread name. More... | |
Static Public Member Functions | |
| static int | ServeRedirect (HTTPResponse *response, const std::string &location) |
| Serve a redirect. More... | |
| static struct MHD_Response * | BuildResponse (void *data, size_t size) |
Static Public Member Functions inherited from ola::thread::Thread | |
| static ThreadId | Self () |
| Returns the current thread's id. More... | |
Additional Inherited Members |
|
explicit |
Setup the HTTP server.
| options | the configuration options for the server |
|
inline |
Called when there is HTTP IO activity to deal with. This is a noop as MHD_run is called in UpdateSockets above.
| bool ola::http::HTTPServer::Init | ( | ) |
Setup the HTTP server.
| void ola::http::HTTPServer::RegisterDefaultHandler | ( | BaseHTTPCallback * | handler | ) |
Set the default handler.
| handler | the default handler to call. This will be freed when the HTTPServer is destroyed. |
| bool ola::http::HTTPServer::RegisterFile | ( | const std::string & | path, |
| const std::string & | content_type | ||
| ) |
Register a static file. The root of the URL corresponds to the data dir.
| path | the URL path for the file e.g. '/foo.png' |
| content_type | the content type. |
| bool ola::http::HTTPServer::RegisterFile | ( | const std::string & | path, |
| const std::string & | file, | ||
| const std::string & | content_type | ||
| ) |
Register a static file.
| path | the path to serve on e.g. /foo.png |
| file | the path to the file to serve relative to the data dir e.g. images/foo.png |
| content_type | the content type. |
| bool ola::http::HTTPServer::RegisterHandler | ( | const std::string & | path, |
| BaseHTTPCallback * | handler | ||
| ) |
Register a handler.
| path | the url to respond on |
| handler | the Closure to call for this request. These will be freed once the HTTPServer is destroyed. |
| int ola::http::HTTPServer::ServeError | ( | HTTPResponse * | response, |
| const std::string & | details = "" |
||
| ) |
Serve an error.
| response | the response to use. |
| details | the error description |
| int ola::http::HTTPServer::ServeNotFound | ( | HTTPResponse * | response | ) |
Serve a 404.
| response | the response to use |
|
static |
Serve a redirect.
| response | the response to use |
| location | the location to redirect to |
1.8.13