diff --git a/src/HttpServer.c b/src/HttpServer.c index d0cc814..420e54c 100644 --- a/src/HttpServer.c +++ b/src/HttpServer.c @@ -233,6 +233,17 @@ HttpResponseStatus(HttpServerContext * c, HttpStatus status) c->responseStatus = status; } +HttpStatus +HttpResponseStatusGet(HttpServerContext *c) +{ + if (!c) + { + return HTTP_STATUS_UNKNOWN; + } + + return c->responseStatus; +} + Stream * HttpServerStream(HttpServerContext * c) { diff --git a/src/Matrix.c b/src/Matrix.c index 9b6f0a2..c4580bd 100644 --- a/src/Matrix.c +++ b/src/Matrix.c @@ -51,10 +51,6 @@ MatrixHttpHandler(HttpServerContext * context, void *argp) requestPath = HttpRequestPath(context); - Log(LOG_INFO, "%s %s", - HttpRequestMethodToString(HttpRequestMethodGet(context)), - requestPath); - HttpResponseStatus(context, HTTP_OK); HttpResponseHeader(context, "Server", "Telodendria/" TELODENDRIA_VERSION); @@ -143,6 +139,12 @@ MatrixHttpHandler(HttpServerContext * context, void *argp) } MATRIX_PATH_FREE(pathParts); + + Log(LOG_INFO, "%s %s (%d %s)", + HttpRequestMethodToString(HttpRequestMethodGet(context)), + requestPath, + HttpResponseStatusGet(context), + HttpStatusToString(HttpResponseStatusGet(context))); } HashMap * diff --git a/src/include/Http.h b/src/include/Http.h index cfb8a91..859bfcf 100644 --- a/src/include/Http.h +++ b/src/include/Http.h @@ -48,6 +48,8 @@ typedef enum HttpRequestMethod typedef enum HttpStatus { + HTTP_STATUS_UNKNOWN = 0, + /* Informational responses */ HTTP_CONTINUE = 100, HTTP_SWITCHING_PROTOCOLS = 101, diff --git a/src/include/HttpServer.h b/src/include/HttpServer.h index b52a141..593431a 100644 --- a/src/include/HttpServer.h +++ b/src/include/HttpServer.h @@ -69,6 +69,9 @@ extern char * extern void HttpResponseStatus(HttpServerContext *, HttpStatus); +extern HttpStatus + HttpResponseStatusGet(HttpServerContext *); + extern Stream * HttpServerStream(HttpServerContext *);