GATE
httpservers.h File Reference

Embedded HTTP server library. More...

Classes

struct  gate_httpserver_config_class
 
struct  gate_httpserver_class
 
struct  gate_httpserver_filehandler_config_class
 

Macros

#define GATE_INTERFACE_NAME_HTTP_RESPONSE   GATE_INTERFACE_NAME_STREAM GATE_INTERFACE_NAME_SEPARATOR "httpserver_response"
 
#define gate_httpserver_response_set_status(obj, status)   (obj)->vtbl->set_status((obj), (status))
 
#define gate_httpserver_response_get_status(obj, ptr_status)   (obj)->vtbl->get_status((obj), (ptr_status))
 
#define gate_httpserver_response_set_header(obj, name, value)   (obj)->vtbl->set_header((obj), (name), (value))
 
#define gate_httpserver_response_send_headers(obj)   (obj)->vtbl->send_headers((obj))
 
#define gate_httpserver_response_are_headers_sent(obj)   (obj)->vtbl->are_headers_sent((obj))
 
#define GATE_HTTPSERVER_INVALID_HOST   NULL
 

Typedefs

typedef struct gate_httpserver_config_class gate_httpserver_config_t
 
typedef struct gate_httpserver_class gate_httpserver_t
 
typedef gate_result_t(* gate_httpserver_callback_t) (gate_httpserver_t *server, gate_http_request_t const *, gate_httpserver_response_t *response, void *userparam)
 
typedef gate_channel_id_t gate_httpserver_host_id_t
 
typedef struct gate_httpserver_filehandler_config_class gate_httpserver_filehandler_config_t
 

Functions

GATE_NET_API gate_result_t gate_httpserver_config_init (gate_httpserver_config_t *config)
 
GATE_NET_API gate_result_t gate_httpserver_config_copy (gate_httpserver_config_t *dest, gate_httpserver_config_t const *src)
 
GATE_NET_API void gate_httpserver_config_destroy (gate_httpserver_config_t *config)
 
 GATE_INTERFACE (gate_httpserver_response)
 
GATE_NET_API gate_result_t gate_httpserver_response_set_header_str (gate_httpserver_response_t *response, char const *name, char const *value)
 
GATE_NET_API gate_result_t gate_httpserver_response_set_header_int (gate_httpserver_response_t *response, char const *name, gate_int64_t value)
 
GATE_NET_API gate_result_t gate_httpserver_create (gate_httpserver_t *server)
 
GATE_NET_API gate_result_t gate_httpserver_add_host (gate_httpserver_t *server, gate_httpserver_config_t const *config, gate_httpserver_callback_t callback, void *userparam, gate_httpserver_host_id_t *ptr_host)
 
GATE_NET_API gate_result_t gate_httpserver_remove_host (gate_httpserver_t *server, gate_httpserver_host_id_t host)
 
GATE_NET_API gate_result_t gate_httpserver_remove_all_hosts (gate_httpserver_t *server)
 
GATE_NET_API gate_result_t gate_httpserver_start (gate_httpserver_t *server)
 
GATE_NET_API gate_result_t gate_httpserver_stop (gate_httpserver_t *server)
 
GATE_NET_API gate_result_t gate_httpserver_destroy (gate_httpserver_t *server)
 
GATE_NET_API gate_result_t gate_httpserver_filehandler_config_init (gate_httpserver_filehandler_config_t *cfg, gate_string_t const *request_root_path, gate_string_t const *file_root_path, gate_bool_t webdav)
 
GATE_NET_API gate_result_t gate_httpserver_filehandler_config_copy (void *dest, void const *src)
 
GATE_NET_API void gate_httpserver_filehandler_config_release (void *config)
 
GATE_NET_API gate_result_t gate_httpserver_filehandler_process (gate_httpserver_filehandler_config_t const *config, gate_http_request_t const *http_request, gate_httpserver_response_t *http_response)
 

Detailed Description

Embedded HTTP server library.