Chromium Embedded Framework (CEF)
115.2.0+g096e3eb+chromium-115.0.5790.13
|
Class representing a server that supports HTTP and WebSocket requests. More...
#include "include/cef_server.h"
Public Types | |
typedef std::multimap< CefString, CefString > | HeaderMap |
Public Member Functions | |
virtual CefRefPtr< CefTaskRunner > | GetTaskRunner ()=0 |
Returns the task runner for the dedicated server thread. More... | |
virtual void | Shutdown ()=0 |
Stop the server and shut down the dedicated server thread. More... | |
virtual bool | IsRunning ()=0 |
Returns true if the server is currently running and accepting incoming connections. More... | |
virtual CefString | GetAddress ()=0 |
Returns the server address including the port number. More... | |
virtual bool | HasConnection ()=0 |
Returns true if the server currently has a connection. More... | |
virtual bool | IsValidConnection (int connection_id)=0 |
Returns true if |connection_id| represents a valid connection. More... | |
virtual void | SendHttp200Response (int connection_id, const CefString &content_type, const void *data, size_t data_size)=0 |
Send an HTTP 200 "OK" response to the connection identified by |connection_id|. More... | |
virtual void | SendHttp404Response (int connection_id)=0 |
Send an HTTP 404 "Not Found" response to the connection identified by |connection_id|. More... | |
virtual void | SendHttp500Response (int connection_id, const CefString &error_message)=0 |
Send an HTTP 500 "Internal Server Error" response to the connection identified by |connection_id|. More... | |
virtual void | SendHttpResponse (int connection_id, int response_code, const CefString &content_type, int64_t content_length, const HeaderMap &extra_headers)=0 |
Send a custom HTTP response to the connection identified by |connection_id|. More... | |
virtual void | SendRawData (int connection_id, const void *data, size_t data_size)=0 |
Send raw data directly to the connection identified by |connection_id|. More... | |
virtual void | CloseConnection (int connection_id)=0 |
Close the connection identified by |connection_id|. More... | |
virtual void | SendWebSocketMessage (int connection_id, const void *data, size_t data_size)=0 |
Send a WebSocket message to the connection identified by |connection_id|. More... | |
Public Member Functions inherited from CefBaseRefCounted | |
virtual void | AddRef () const =0 |
Called to increment the reference count for the object. More... | |
virtual bool | Release () const =0 |
Called to decrement the reference count for the object. More... | |
virtual bool | HasOneRef () const =0 |
Returns true if the reference count is 1. More... | |
virtual bool | HasAtLeastOneRef () const =0 |
Returns true if the reference count is at least 1. More... | |
Static Public Member Functions | |
static void | CreateServer (const CefString &address, uint16_t port, int backlog, CefRefPtr< CefServerHandler > handler) |
Create a new server that binds to |address| and |port|. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from CefBaseRefCounted | |
virtual | ~CefBaseRefCounted () |
Class representing a server that supports HTTP and WebSocket requests.
Server capacity is limited and is intended to handle only a small number of simultaneous connections (e.g. for communicating between applications on localhost). The methods of this class are safe to call from any thread in the brower process unless otherwise indicated.
typedef std::multimap<CefString, CefString> CefServer::HeaderMap |
|
pure virtual |
Close the connection identified by |connection_id|.
See SendHttpResponse documentation for intended usage.
|
static |
Create a new server that binds to |address| and |port|.
|address| must be a valid IPv4 or IPv6 address (e.g. 127.0.0.1 or ::1) and |port| must be a port number outside of the reserved range (e.g. between 1025 and 65535 on most platforms). |backlog| is the maximum number of pending connections. A new thread will be created for each CreateServer call (the "dedicated server thread"). It is therefore recommended to use a different CefServerHandler instance for each CreateServer call to avoid thread safety issues in the CefServerHandler implementation. The CefServerHandler::OnServerCreated method will be called on the dedicated server thread to report success or failure. See CefServerHandler::OnServerCreated documentation for a description of server lifespan.
|
pure virtual |
Returns the server address including the port number.
|
pure virtual |
Returns the task runner for the dedicated server thread.
|
pure virtual |
Returns true if the server currently has a connection.
This method must be called on the dedicated server thread.
|
pure virtual |
Returns true if the server is currently running and accepting incoming connections.
See CefServerHandler::OnServerCreated documentation for a description of server lifespan. This method must be called on the dedicated server thread.
|
pure virtual |
Returns true if |connection_id| represents a valid connection.
This method must be called on the dedicated server thread.
|
pure virtual |
Send an HTTP 200 "OK" response to the connection identified by |connection_id|.
|content_type| is the response content type (e.g. "text/html"), |data| is the response content, and |data_size| is the size of |data| in bytes. The contents of |data| will be copied. The connection will be closed automatically after the response is sent.
|
pure virtual |
Send an HTTP 404 "Not Found" response to the connection identified by |connection_id|.
The connection will be closed automatically after the response is sent.
|
pure virtual |
Send an HTTP 500 "Internal Server Error" response to the connection identified by |connection_id|.
|error_message| is the associated error message. The connection will be closed automatically after the response is sent.
|
pure virtual |
Send a custom HTTP response to the connection identified by |connection_id|.
|response_code| is the HTTP response code sent in the status line (e.g. 200), |content_type| is the response content type sent as the "Content-Type" header (e.g. "text/html"), |content_length| is the expected content length, and |extra_headers| is the map of extra response headers. If |content_length| is >= 0 then the "Content-Length" header will be sent. If |content_length| is 0 then no content is expected and the connection will be closed automatically after the response is sent. If |content_length| is < 0 then no "Content-Length" header will be sent and the client will continue reading until the connection is closed. Use the SendRawData method to send the content, if applicable, and call CloseConnection after all content has been sent.
|
pure virtual |
Send raw data directly to the connection identified by |connection_id|.
|data| is the raw data and |data_size| is the size of |data| in bytes. The contents of |data| will be copied. No validation of |data| is performed internally so the client should be careful to send the amount indicated by the "Content-Length" header, if specified. See SendHttpResponse documentation for intended usage.
|
pure virtual |
Send a WebSocket message to the connection identified by |connection_id|.
|data| is the response content and |data_size| is the size of |data| in bytes. The contents of |data| will be copied. See CefServerHandler::OnWebSocketRequest documentation for intended usage.
|
pure virtual |
Stop the server and shut down the dedicated server thread.
See CefServerHandler::OnServerCreated documentation for a description of server lifespan.