This commit is contained in:
NADAL Jean-Baptiste
2019-12-23 18:27:18 +01:00
parent 14d3faae8d
commit 798bea32ab
9 changed files with 206 additions and 37 deletions

View File

@@ -36,7 +36,7 @@ int my_http_get_handler(short event, restd_conn_t *conn, void *userdata)
{
if (restd_http_get_status(conn) == RESTD_HTTP_REQ_DONE)
{
restd_http_response(conn, 200, "text/html", "Hello World", 11);
restd_http_response(conn, 200, "application/json", "{\"status\": false}", 17);
return restd_http_is_keepalive_request(conn) ? RESTD_DONE : RESTD_CLOSE;
}
}
@@ -45,11 +45,12 @@ int my_http_get_handler(short event, restd_conn_t *conn, void *userdata)
int my_http_default_handler(short event, restd_conn_t *conn, void *userdata)
{
printf("Error Handler...\n");
if (event & RESTD_EVENT_READ)
{
if (restd_http_get_status(conn) == RESTD_HTTP_REQ_DONE)
{
restd_http_response(conn, 501, "text/html", "Not implemented", 15);
restd_http_response(conn, 500, "application/json", "{\"status\":\"error\"}", 18);
return RESTD_CLOSE; // Close connection.
}
}
@@ -61,8 +62,14 @@ int main(int argc, char **argv)
restd_log_level(RESTD_LOG_DEBUG);
restd_server_t *server = restd_server_new();
restd_server_set_option(server, "server.port", "8888");
restd_server_register_hook(server, restd_http_handler, NULL); // HTTP Parser is also a hook.
restd_server_register_hook_on_method(server, "GET", my_http_get_handler, NULL);
restd_server_register_hook(server, my_http_default_handler, NULL);
restd_server_register_request_handler(server, restd_rest_handler);
restd_server_register_error_handler(server, my_http_default_handler);
restd_server_register_hook(server, restd_http_handler, NULL);
restd_server_register_hook_on_path(server, "GET", "/api/zob", my_http_get_handler, NULL);
restd_server_register_hook_on_path(server, "GET", "/api/zob2", my_http_get_handler, NULL);
restd_server_register_hook_on_path(server, "PUT", "/api/zob/25", my_http_get_handler, NULL);
return restd_server_start(server);
}