wip for POST Method.
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
NADAL Jean-Baptiste
2020-02-18 18:25:53 +01:00
parent 70b2273bbd
commit 7d4d941c57
2 changed files with 21 additions and 12 deletions

View File

@@ -1,5 +1,5 @@
/*! /*!
* rest_handler.h * rest_server.h
* *
* Copyright (c) 2015-2020, NADAL Jean-Baptiste. All rights reserved. * Copyright (c) 2015-2020, NADAL Jean-Baptiste. All rights reserved.
* *

View File

@@ -28,6 +28,7 @@
#define ksuccess_get_body "{\"status\":\"ok\"}" #define ksuccess_get_body "{\"status\":\"ok\"}"
#define ksuccess_delete_body "{\"status\":\"delete\"}" #define ksuccess_delete_body "{\"status\":\"delete\"}"
#define ksuccess_put_body "{\"status\":\"put\"}" #define ksuccess_put_body "{\"status\":\"put\"}"
#define kerror_body "{\"status\":\"error\"}"
#define kserver_port "7777" #define kserver_port "7777"
#define kapi_test_get "/api/v1/test_get" #define kapi_test_get "/api/v1/test_get"
@@ -41,8 +42,8 @@
int my_error_handler(struct evhttp_request *req, void *arg) int my_error_handler(struct evhttp_request *req, void *arg)
{ {
//restd_http_response(conn, 200, "application/json", "{\"status\":\"error\"}", 18); restd_http_response(req, 200, "application/json", kerror_body);
//return RESTD_CLOSE; // Close connection. return RESTD_OK;
} }
/*--------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------*/
@@ -53,7 +54,6 @@ int my_success_http_handler(struct evhttp_request *req, void *arg)
return RESTD_OK; return RESTD_OK;
} }
/*--------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------*/
int my_success_rest_get_handler(struct evhttp_request *req, void *arg) int my_success_rest_get_handler(struct evhttp_request *req, void *arg)
@@ -80,6 +80,14 @@ int my_success_rest_put_handler(struct evhttp_request *req, void *arg)
/*--------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------*/
int my_success_rest_post_handler(struct evhttp_request *req, void *arg)
{
restd_http_response(req, 200, "application/json", ksuccess_put_body);
return RESTD_OK;
}
/*--------------------------------------------------------------------------*/
size_t write_callback(void *ptr, size_t size, size_t nmemb, void *stream) size_t write_callback(void *ptr, size_t size, size_t nmemb, void *stream)
{ {
size_t body_size = 0; size_t body_size = 0;
@@ -416,6 +424,8 @@ TEST("Rest - create start access rest hook free\t")
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_GET, kapi_test_get, my_success_rest_get_handler, NULL);
restd_server_register_hook_on_path(rest_server, EVHTTP_REQ_PUT, kapi_test_get, my_success_rest_put_handler, NULL); restd_server_register_hook_on_path(rest_server, EVHTTP_REQ_PUT, kapi_test_get, my_success_rest_put_handler, NULL);
restd_server_register_hook_on_path(rest_server, EVHTTP_REQ_DELETE, kapi_test_get, my_success_rest_delete_handler, NULL); restd_server_register_hook_on_path(rest_server, EVHTTP_REQ_DELETE, kapi_test_get, my_success_rest_delete_handler, NULL);
restd_server_register_hook_on_path(rest_server, EVHTTP_REQ_POST, kapi_test_get, my_success_rest_post_handler, NULL);
ret = restd_server_start(rest_server); ret = restd_server_start(rest_server);
ASSERT_EQUAL_INT(ret, 0); ASSERT_EQUAL_INT(ret, 0);
@@ -430,11 +440,10 @@ TEST("Rest - create start access rest hook free\t")
ret = exec_request(kdelete_method, "http://localhost:" kserver_port kapi_test_get, 200, ksuccess_delete_body); ret = exec_request(kdelete_method, "http://localhost:" kserver_port kapi_test_get, 200, ksuccess_delete_body);
ASSERT_EQUAL_INT(ret, 0); ASSERT_EQUAL_INT(ret, 0);
#if 1
PRINTLN("\n - PUT"); PRINTLN("\n - PUT");
ret = exec_request(kput_method, "http://localhost:" kserver_port kapi_test_get, 200, ksuccess_put_body); ret = exec_request(kput_method, "http://localhost:" kserver_port kapi_test_get, 200, ksuccess_put_body);
ASSERT_EQUAL_INT(ret, 0); ASSERT_EQUAL_INT(ret, 0);
#endif
// TODO POST // TODO POST
restd_server_free(rest_server); restd_server_free(rest_server);