Implement sending binary data

This commit is contained in:
kamkow1
2025-06-20 14:02:31 +02:00
parent d32dd721e1
commit 0fab7bcffe
3 changed files with 31 additions and 5 deletions

16
main.c
View File

@ -80,7 +80,21 @@ void event_handler(struct mg_connection *conn, int ev, void *ev_data)
}
sb_finish(&sb);
mg_http_reply(conn, result->status_code, sb.items, "%s", result->body.items);
if (result->type == ROUTE_RESULT_TEXT) {
mg_http_reply(conn, result->status_code, sb.items, "%s", result->body.items);
} else if (result->type == ROUTE_RESULT_BINARY) {
char *reply = fmt(
"HTTP/1.1 %d OK\r\n"
"%s"
"Content-Length: %zu\r\n"
"\r\n",
result->status_code,
sb.items,
result->body.count
);
mg_printf(conn, "%s", reply);
mg_send(conn, result->body.items, result->body.count);
}
}
}