|
int | ulfius_add_endpoint (struct _u_instance *u_instance, const struct _u_endpoint *u_endpoint) |
|
int | ulfius_add_endpoint_by_val (struct _u_instance *u_instance, const char *http_method, const char *url_prefix, const char *url_format, unsigned int priority, int(*callback_function)(const struct _u_request *request, struct _u_response *response, void *user_data), void *user_data) |
|
int | ulfius_add_endpoint_list (struct _u_instance *u_instance, const struct _u_endpoint **u_endpoint_list) |
|
int | ulfius_remove_endpoint (struct _u_instance *u_instance, const struct _u_endpoint *u_endpoint) |
|
int | ulfius_set_default_endpoint (struct _u_instance *u_instance, int(*callback_function)(const struct _u_request *request, struct _u_response *response, void *user_data), void *user_data) |
|
int | ulfius_remove_endpoint_by_val (struct _u_instance *u_instance, const char *http_method, const char *url_prefix, const char *url_format) |
|
const struct _u_endpoint * | ulfius_empty_endpoint (void) |
|
int | ulfius_copy_endpoint (struct _u_endpoint *dest, const struct _u_endpoint *source) |
|
struct _u_endpoint * | ulfius_duplicate_endpoint_list (const struct _u_endpoint *endpoint_list) |
|
void | ulfius_clean_endpoint (struct _u_endpoint *endpoint) |
|
void | ulfius_clean_endpoint_list (struct _u_endpoint *endpoint_list) |
|
int | ulfius_equals_endpoints (const struct _u_endpoint *endpoint1, const struct _u_endpoint *endpoint2) |
|
struct _u_endpoint management functions
◆ ulfius_add_endpoint()
Add a struct _u_endpoint * to the specified u_instance Can be done during the execution of the webservice for injection
- Parameters
-
u_instance | pointer to a struct _u_instance that describe its port and bind address |
u_endpoint | pointer to a struct _u_endpoint that will be copied in the u_instance endpoint_list |
- Returns
- U_OK on success
◆ ulfius_add_endpoint_by_val()
int ulfius_add_endpoint_by_val |
( |
struct _u_instance * |
u_instance, |
|
|
const char * |
http_method, |
|
|
const char * |
url_prefix, |
|
|
const char * |
url_format, |
|
|
unsigned int |
priority, |
|
|
int(*)(const struct _u_request *request, struct _u_response *response, void *user_data) |
callback_function, |
|
|
void * |
user_data |
|
) |
| |
Add a struct _u_endpoint * to the specified u_instance with its values specified Can be done during the execution of the webservice for injection
- Parameters
-
u_instance | pointer to a struct _u_instance that describe its port and bind address |
http_method | http verb (GET, POST, PUT, etc.) in upper case |
url_prefix | prefix for the url (optional) |
url_format | string used to define the endpoint format separate words with / to define a variable in the url, prefix it with @ or : example: /test/resource/:name/elements on an url_format that ends with '*', the rest of the url will not be tested |
priority | endpoint priority in descending order (0 is the higher priority) |
callback_function | a pointer to a function that will be executed each time the endpoint is called you must declare the function as described. |
user_data | a pointer to a data or a structure that will be available in callback_function |
- Returns
- U_OK on success
◆ ulfius_add_endpoint_list()
Add a struct _u_endpoint * list to the specified u_instance Can be done during the execution of the webservice for injection
- Parameters
-
u_instance | pointer to a struct _u_instance that describe its port and bind address |
u_endpoint_list | pointer to an array of struct _u_endpoint ending with a ulfius_empty_endpoint() that will be copied in the u_instance endpoint_list |
- Returns
- U_OK on success
◆ ulfius_remove_endpoint()
Remove a struct _u_endpoint * from the specified u_instance Can be done during the execution of the webservice for injection
- Parameters
-
- Returns
- U_OK on success
◆ ulfius_set_default_endpoint()
int ulfius_set_default_endpoint |
( |
struct _u_instance * |
u_instance, |
|
|
int(*)(const struct _u_request *request, struct _u_response *response, void *user_data) |
callback_function, |
|
|
void * |
user_data |
|
) |
| |
ulfius_set_default_endpoint Set the default endpoint This endpoint will be called if no endpoint match the url called
- Parameters
-
u_instance | pointer to a struct _u_instance that describe its port and bind address |
callback_function | a pointer to a function that will be executed each time the endpoint is called you must declare the function as described. |
user_data | a pointer to a data or a structure that will be available in callback_function to remove a default endpoint, call ulfius_set_default_endpoint with NULL parameter for callback_function |
- Returns
- U_OK on success
◆ ulfius_remove_endpoint_by_val()
int ulfius_remove_endpoint_by_val |
( |
struct _u_instance * |
u_instance, |
|
|
const char * |
http_method, |
|
|
const char * |
url_prefix, |
|
|
const char * |
url_format |
|
) |
| |
Remove a struct _u_endpoint * from the specified u_instance using the specified values used to identify an endpoint Can be done during the execution of the webservice for injection The parameters _u_endpoint.http_method, _u_endpoint.url_prefix and _u_endpoint.url_format are strictly compared for the match If no endpoint is found, return U_ERROR_NOT_FOUND
- Parameters
-
u_instance | pointer to a struct _u_instance that describe its port and bind address |
http_method | http_method used by the endpoint |
url_prefix | url_prefix used by the endpoint |
url_format | url_format used by the endpoint |
- Returns
- U_OK on success
◆ ulfius_empty_endpoint()
const struct _u_endpoint* ulfius_empty_endpoint |
( |
void |
| ) |
|
ulfius_empty_endpoint
- Returns
- empty endpoint that goes at the end of an endpoint list
◆ ulfius_copy_endpoint()
ulfius_copy_endpoint makes a copy of an endpoint with duplicate values
- Parameters
-
dest | the endpoint destination |
source | the endpoint source |
- Returns
- U_OK on success
ulfius_copy_endpoint return a copy of an endpoint with duplicate values
◆ ulfius_duplicate_endpoint_list()
u_copy_endpoint_list makes a copy of an endpoint list with duplicate values
- Parameters
-
- Returns
- a list with duplicate values returned value must be free'd after use
duplicate_endpoint_list return a copy of an endpoint list with duplicate values returned value must be free'd after use
◆ ulfius_clean_endpoint()
void ulfius_clean_endpoint |
( |
struct _u_endpoint * |
endpoint | ) |
|
ulfius_clean_endpoint free allocated memory by an endpoint
- Parameters
-
endpoint | the endpoint to cleanup |
clean_endpoint free allocated memory by an endpoint
◆ ulfius_clean_endpoint_list()
void ulfius_clean_endpoint_list |
( |
struct _u_endpoint * |
endpoint_list | ) |
|
ulfius_clean_endpoint_list free allocated memory by an endpoint list
- Parameters
-
ulfius_clean_endpoint_list free allocated memory by an endpoint list
◆ ulfius_equals_endpoints()
ulfius_equals_endpoints Compare 2 endpoints
- Parameters
-
endpoint1 | the first endpoint to compare |
endpoint2 | the second endpoint to compare |
- Returns
- true if their method, prefix and format are the same or if both are NULL, false otherwise