Param management WIP
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
NADAL Jean-Baptiste
2020-02-19 18:45:28 +01:00
parent 0962a1b776
commit 29fb5f456d
3 changed files with 119 additions and 21 deletions

View File

@@ -32,7 +32,7 @@
#define kerror_body "{\"status\":\"error\"}"
#define ksuccess_put_param1 "{\"id\":\"1\"}"
#define ksuccess_put_param2 "{\"id\":\"1977\"}"
#define ksuccess_put_param2 "{\"id\":\"1977\",\"action\":\"todo\"}"
#define kserver_port "7777"
@@ -40,8 +40,8 @@
#define kapi_test_put_id1 "/api/v1/test_put/:id"
#define kapi_test_put_id1_body "/api/v1/test_put/1"
#define kapi_test_put_id2 "/api/v1/test_put/:id/action"
#define kapi_test_put_id2_body "/api/v1/test_put/1977/action"
#define kapi_test_put_id2 "/api/v1/test_put/:id/todo"
#define kapi_test_put_id2_body "/api/v1/test_put/1977/todo"
#define kpost_method "POST"
#define kget_method "GET"
@@ -93,6 +93,31 @@ int my_success_rest_put_handler(restd_resp_t *response, void *arg)
/*--------------------------------------------------------------------------*/
int my_success_rest_put_param_handler(restd_resp_t *response, void *arg)
{
struct json_object *root_node;
root_node = json_object_new_object();
if (response->has_parameter)
{
if ((response->parameter_value != NULL) && (response->parameter_name != NULL))
{
json_object_object_add(root_node, response->parameter_name, json_object_new_string(response->parameter_value));
}
if (response->action != NULL)
{
json_object_object_add(root_node, "action", json_object_new_string(response->action));
}
}
restd_http_response(response, 200, "application/json", json_object_to_json_string(root_node));
json_object_put(root_node);
return RESTD_OK;
}
/*--------------------------------------------------------------------------*/
int my_success_rest_post_handler(restd_resp_t *response, void *arg)
{
char *body;
@@ -469,7 +494,7 @@ TEST("Rest - create start access to all rest hook free\t")
}
/*--------------------------------------------------------------------------*/
#if 0
TEST("Rest - create start access to rest hook with params free\t")
{
int ret;
@@ -486,8 +511,8 @@ TEST("Rest - create start access to rest hook with params free\t")
//restd_server_register_call_hooks_handler(rest_server, restd_rest_handler);
restd_server_register_hook_on_path(rest_server, EVHTTP_REQ_GET, kapi_test_get, my_success_rest_get_handler, NULL);
restd_server_register_hook_on_path(rest_server, EVHTTP_REQ_PUT, kapi_test_put_id1, my_success_rest_put_handler, NULL);
restd_server_register_hook_on_path(rest_server, EVHTTP_REQ_PUT, kapi_test_put_id2, my_success_rest_put_handler, NULL);
restd_server_register_hook_on_path(rest_server, EVHTTP_REQ_PUT, kapi_test_put_id1, my_success_rest_put_param_handler, NULL);
restd_server_register_hook_on_path(rest_server, EVHTTP_REQ_PUT, kapi_test_put_id2, my_success_rest_put_param_handler, NULL);
ret = restd_server_start(rest_server);
ASSERT_EQUAL_INT(ret, 0);
@@ -500,4 +525,3 @@ TEST("Rest - create start access to rest hook with params free\t")
restd_server_free(rest_server);
}
#endif