summaryrefslogtreecommitdiff
path: root/server/src/httpd.cc
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/httpd.cc')
-rw-r--r--server/src/httpd.cc20
1 files changed, 19 insertions, 1 deletions
diff --git a/server/src/httpd.cc b/server/src/httpd.cc
index 1c0575a..9349697 100644
--- a/server/src/httpd.cc
+++ b/server/src/httpd.cc
@@ -38,9 +38,15 @@
#include <string.h>
#include <microhttpd.h>
+#include <time.h>
#include "debug.h"
+// for inet_ntop
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <arpa/inet.h>
+
typedef struct {
void *ptr;
bool firstrun;
@@ -68,10 +74,22 @@ static int request_handler(void *cls,
unsigned int *data_size,
void **con_cls)
{
+ time_t now = time(NULL);
+ DEBUG(httpd, "Request time: %s", ctime(&now));
+
+ void *so;
+ so = MHD_get_connection_info(con, MHD_CONNECTION_INFO_CLIENT_ADDRESS)->client_addr;
+
+ char peeraddr[INET_ADDRSTRLEN];
+ inet_ntop(AF_INET, &((struct sockaddr_in*)so)->sin_addr, peeraddr, sizeof(peeraddr));
+ DEBUG(httpd, "peer: %s\n", peeraddr);
+
DEBUG(httpd, "request_handler: cls(%p) con(%p) url(%s) method(%s)"
" version(%s) *con_cls(%p)\n",
cls, con, url, method, version, *con_cls);
- DEBUG(httpd, "request_handler: *data_size(%u) data:[%s]\n", *data_size, data);
+ std::string datastr; datastr.append(data, *data_size);
+ DEBUG(httpd, "request_handler: *data_size(%u) data:[%s]\n",
+ *data_size, datastr.c_str());
int ret = MHD_YES;