From cd5d7046782f4fe1a59a1613fdccef2aa271a342 Mon Sep 17 00:00:00 2001 From: structix Date: Sun, 17 Sep 2017 20:20:46 +0200 Subject: [PATCH] Added calcAbsHum. This will only calculate gm3 without inserting it to the database. Will be used for php requests --- RestServer/main.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/RestServer/main.c b/RestServer/main.c index 6700dc8..29e7a68 100644 --- a/RestServer/main.c +++ b/RestServer/main.c @@ -16,7 +16,6 @@ #include #define PORT 1337 -#define PREFIX "/abshum" struct _u_instance instance; @@ -113,7 +112,22 @@ int callback_absTempHum(const struct _u_request *request, struct _u_response *re return U_CALLBACK_CONTINUE; } +int callback_calcAbsTempHum(const struct _u_request *request, struct _u_response *response, void *user_data) { + int i; + float temphum[2]; + const char **keys; + keys = u_map_enum_keys(request->map_url); + + for (i = 0; i < 2; i++) { + temphum[i] = atof(u_map_get(request->map_url, keys[i])); + } + char *response_body = msprintf("%f", absoluteHumidityFloat(temphum[0], temphum[1])); + + ulfius_set_string_body_response(response, 200, response_body); + //o_free(url_params); + return U_CALLBACK_CONTINUE; +} int main(void) { @@ -138,7 +152,8 @@ int main(void) { // Endpoint list declaration ulfius_add_endpoint_by_val(&instance, "GET", "/welcome", NULL, 0, &callback_welcome, NULL); - ulfius_add_endpoint_by_val(&instance, "GET", PREFIX, "/:temp/:hum", 0, &callback_absTempHum, NULL); + ulfius_add_endpoint_by_val(&instance, "GET", "/abshum", "/:temp/:hum", 0, &callback_absTempHum, NULL); + ulfius_add_endpoint_by_val(&instance, "GET", "/calcabs", "/:temp/:hum", 0, &callback_calcAbsTempHum, NULL); // Start the framework if (ulfius_start_framework(&instance) == U_OK) {