logswan

Fast Web log analyzer using probabilistic data structures
Log | Files | Refs | README | LICENSE

commit e85c0720fbf6f0fd865cd82e00c9d2d756f28814
parent 8752273b1466728338b8ce16f4d9fa7be0b6b05c
Author: Frederic Cambus <fcambus@users.sourceforge.net>
Date:   Sun, 28 Jun 2015 23:45:07 +0200

Adding HTTP methods distribution in the JSON output

Diffstat:
Msrc/output.c | 20++++++++++++++++++++
1 file changed, 20 insertions(+), 0 deletions(-)

diff --git a/src/output.c b/src/output.c @@ -17,6 +17,18 @@ #include "results.h" char *output(Results results) { + char *methods[] = { + "OPTIONS", + "GET", + "HEAD", + "POST", + "PUT", + "DELETE", + "TRACE", + "CONNECT", + "PATCH" + }; + char *protocols[] = { "HTTP/1.0", "HTTP/1.1" @@ -27,6 +39,7 @@ char *output(Results results) { json_t *countriesArray = json_array(); json_t *hoursArray = json_array(); json_t *httpStatusArray = json_array(); + json_t *methodsArray = json_array(); json_t *protocolsArray = json_array(); for (int loop=0; loop<255; loop++) { @@ -47,6 +60,12 @@ char *output(Results results) { } } + for (int loop=0; loop<9; loop++) { + if (results.methods[loop]) { + json_array_append_new(methodsArray, json_pack("{s:s, s:i}", "data", methods[loop], "hits", results.methods[loop])); + } + } + for (int loop=0; loop<2; loop++) { if (results.protocols[loop]) { json_array_append_new(protocolsArray, json_pack("{s:s, s:i}", "data", protocols[loop], "hits", results.protocols[loop])); @@ -59,6 +78,7 @@ char *output(Results results) { json_object_set_new(hitsObject, "countries", countriesArray); json_object_set_new(hitsObject, "hours", hoursArray); json_object_set_new(hitsObject, "http_status", httpStatusArray); + json_object_set_new(hitsObject, "methods", methodsArray); json_object_set_new(hitsObject, "protocols", protocolsArray); json_object_set_new(jsonObject, "date", json_string(results.timeStamp));