|
kodi
|
The PLT_HttpServer class provides an asynchronous way to handle multiple HTTP requests concurrently. More...
#include <PltHttpServer.h>


Public Member Functions | |
| PLT_HttpServer (NPT_IpAddress address=NPT_IpAddress::Any, NPT_IpPort port=0, bool allow_random_port_on_bind_failure=false, NPT_Cardinal max_clients=50, bool reuse_address=false) | |
| NPT_Result | SetupResponse (NPT_HttpRequest &request, const NPT_HttpRequestContext &context, NPT_HttpResponse &response) override |
| virtual NPT_Result | Start () |
| virtual NPT_Result | Stop () |
| virtual unsigned int | GetPort () |
Public Member Functions inherited from NPT_HttpRequestHandler | |
| virtual NPT_Result | SendResponseBody (const NPT_HttpRequestContext &context, NPT_HttpResponse &response, NPT_OutputStream &output) |
| Override this method if you want to write the body yourself. More... | |
| virtual void | Completed (NPT_Result) |
| A notification method called by the server upon completing the processing of a request. | |
Public Member Functions inherited from NPT_HttpServer | |
| NPT_HttpServer (NPT_UInt16 listen_port=NPT_HTTP_DEFAULT_PORT, bool cancellable=false) | |
| NPT_HttpServer (NPT_IpAddress listen_address, NPT_UInt16 listen_port=NPT_HTTP_DEFAULT_PORT, bool cancellable=false) | |
| NPT_Result | SetConfig (const Config &config) |
| const Config & | GetConfig () const |
| NPT_Result | SetListenPort (NPT_UInt16 port, bool reuse_address=true) |
| NPT_Result | SetTimeouts (NPT_Timeout connection_timeout, NPT_Timeout io_timeout) |
| NPT_Result | SetServerHeader (const char *server_header) |
| NPT_Result | Abort () |
| NPT_Result | WaitForNewClient (NPT_InputStreamReference &input, NPT_OutputStreamReference &output, NPT_HttpRequestContext *context, NPT_Flags socket_flags=0) |
| NPT_Result | Loop (bool cancellable_sockets=true) |
| NPT_UInt16 | GetPort () |
| void | Terminate () |
| virtual NPT_Result | AddRequestHandler (NPT_HttpRequestHandler *handler, const char *path, bool include_children=false, bool transfer_ownership=false) |
| Add a request handler. More... | |
| virtual NPT_HttpRequestHandler * | FindRequestHandler (NPT_HttpRequest &request) |
| virtual NPT_List< NPT_HttpRequestHandler * > | FindRequestHandlers (NPT_HttpRequest &request) |
| virtual NPT_Result | RespondToClient (NPT_InputStreamReference &input, NPT_OutputStreamReference &output, const NPT_HttpRequestContext &context) |
| Parse the request from a new client, form a response, and send it back. | |
Static Public Member Functions | |
| static NPT_Result | ServeFile (const NPT_HttpRequest &request, const NPT_HttpRequestContext &context, NPT_HttpResponse &response, NPT_String file_path) |
| static NPT_Result | ServeStream (const NPT_HttpRequest &request, const NPT_HttpRequestContext &context, NPT_HttpResponse &response, NPT_InputStreamReference &stream, const char *content_type) |
Additional Inherited Members | |
Protected Member Functions inherited from NPT_HttpServer | |
| NPT_Result | Bind () |
Protected Attributes inherited from NPT_HttpServer | |
| NPT_TcpServerSocket | m_Socket |
| NPT_UInt16 | m_BoundPort |
| Config | m_Config |
| NPT_List< HandlerConfig * > | m_RequestHandlers |
| NPT_String | m_ServerHeader |
| bool | m_Run |
The PLT_HttpServer class provides an asynchronous way to handle multiple HTTP requests concurrently.
Pipelining requests and keep-alive connections are supported.
1.8.13