aboutsummaryrefslogtreecommitdiff
path: root/lib/http.c
diff options
context:
space:
mode:
authorspl3g <spleefer6@yandex.ru>2025-03-19 18:10:25 +0300
committerspl3g <spleefer6@yandex.ru>2025-03-19 18:11:18 +0300
commitf8c44ab2e6107b5fca3c7375b368c18ef7704fc0 (patch)
tree912ed71a24376d617ba4b3fbac9a860dbaa92c86 /lib/http.c
parent7a9d112ffa5b954baa43f2eddaa50ec1bd88f96f (diff)
Add http_log function
Diffstat (limited to 'lib/http.c')
-rw-r--r--lib/http.c26
1 files changed, 23 insertions, 3 deletions
diff --git a/lib/http.c b/lib/http.c
index 4c6bd7e..17d9ee1 100644
--- a/lib/http.c
+++ b/lib/http.c
@@ -60,6 +60,27 @@ void sigchld_handler() {
errno = saved_errno;
}
+void http_log(http_log_level log, char *fmt, ...) {
+ switch (log) {
+ case HTTP_INFO:
+ fprintf(stderr, "[INFO] ");
+ break;
+
+ case HTTP_WARNING:
+ fprintf(stderr, "[WARNING] ");
+ break;
+
+ case HTTP_ERROR:
+ fprintf(stderr, "[ERROR] ");
+ break;
+ }
+
+ va_list args;
+ va_start(args, fmt);
+ vfprintf(stderr, fmt, args);
+ va_end(args);
+}
+
void *get_in_addr(struct sockaddr *sa) {
if (sa->sa_family == AF_INET) {
@@ -421,11 +442,10 @@ int listen_and_serve(struct server *serv) {
perror("listen");
return 1;
}
-
+
char my_ipstr[INET6_ADDRSTRLEN];
inet_ntop(serv->addr->sa_family, get_in_addr(serv->addr), my_ipstr, sizeof my_ipstr);
- printf("Listening on %s:%d\n", my_ipstr, get_in_port(serv->addr));
-
+ http_log(HTTP_INFO, "Listening on %s:%d\n", my_ipstr, get_in_port(serv->addr));
while (keepRunning) {
struct sockaddr inc_addr;