Simple HTTP server used for serving up REST API.
More...
|
enum | ecs_http_method_t {
EcsHttpGet
, EcsHttpPost
, EcsHttpPut
, EcsHttpDelete
,
EcsHttpOptions
, EcsHttpMethodUnsupported
} |
| Supported request methods. More...
|
|
|
int64_t | ecs_http_request_received_count |
| Total number of HTTP requests received.
|
|
int64_t | ecs_http_request_invalid_count |
| Total number of invalid HTTP requests.
|
|
int64_t | ecs_http_request_handled_ok_count |
| Total number of successful HTTP requests.
|
|
int64_t | ecs_http_request_handled_error_count |
| Total number of HTTP requests with errors.
|
|
int64_t | ecs_http_request_not_handled_count |
| Total number of HTTP requests with an unknown endpoint.
|
|
int64_t | ecs_http_request_preflight_count |
| Total number of preflight HTTP requests received.
|
|
int64_t | ecs_http_send_ok_count |
| Total number of HTTP replies successfully sent.
|
|
int64_t | ecs_http_send_error_count |
| Total number of HTTP replies that failed to send.
|
|
int64_t | ecs_http_busy_count |
| Total number of HTTP busy replies.
|
|
Simple HTTP server used for serving up REST API.
◆ ECS_HTTP_HEADER_COUNT_MAX
#define ECS_HTTP_HEADER_COUNT_MAX (32) |
Maximum number of headers in request.
Definition at line 38 of file http.h.
◆ ECS_HTTP_QUERY_PARAM_COUNT_MAX
#define ECS_HTTP_QUERY_PARAM_COUNT_MAX (32) |
Maximum number of query parameters in request.
Definition at line 41 of file http.h.
◆ ECS_HTTP_REPLY_INIT
#define ECS_HTTP_REPLY_INIT (ecs_http_reply_t){200, ECS_STRBUF_INIT, "OK", "application/json", ECS_STRBUF_INIT} |
◆ FLECS_HTTP_H
◆ ecs_http_reply_action_t
Request callback.
Invoked for each valid request. The function should populate the reply and return true. When the function returns false, the server will reply with a 404 (Not found) code.
Definition at line 117 of file http.h.
◆ ecs_http_server_t
HTTP server.
Definition at line 48 of file http.h.
◆ ecs_http_method_t
Supported request methods.
Definition at line 66 of file http.h.
◆ ecs_http_get_header()
FLECS_API const char * ecs_http_get_header |
( |
const ecs_http_request_t * | req, |
|
|
const char * | name ) |
Find header in request.
- Parameters
-
req | The request. |
name | name of the header to find |
- Returns
- The header value, or NULL if not found.
◆ ecs_http_get_param()
FLECS_API const char * ecs_http_get_param |
( |
const ecs_http_request_t * | req, |
|
|
const char * | name ) |
Find query parameter in request.
- Parameters
-
req | The request. |
name | The parameter name. |
- Returns
- The decoded parameter value, or NULL if not found.
◆ ecs_http_server_dequeue()
Process server requests.
This operation invokes the reply callback for each received request. No new requests will be enqueued while processing requests.
- Parameters
-
server | The server for which to process requests. |
◆ ecs_http_server_fini()
Destroy server.
This operation will stop the server if it was still running.
- Parameters
-
server | The server to destroy. |
◆ ecs_http_server_http_request()
Emulate a request.
The request string must be a valid HTTP request. A minimal example:
GET /entity/flecs/core/World?label=true HTTP/1.1
- Parameters
-
srv | The server. |
req | The request. |
len | The length of the request (optional). |
- Returns
- The reply.
◆ ecs_http_server_init()
Create server.
Use ecs_http_server_start() to start receiving requests.
- Parameters
-
desc | Server configuration parameters. |
- Returns
- The new server, or NULL if creation failed.
◆ ecs_http_server_start()
Start server.
After this operation the server will be able to accept requests.
- Parameters
-
server | The server to start. |
- Returns
- Zero if successful, non-zero if failed.
◆ ecs_http_server_stop()
Stop server.
After this operation no new requests can be received.
- Parameters
-