From 4b5bcf89c0cc1ba8f06cbae39a266bdd8bb29dac Mon Sep 17 00:00:00 2001 From: Georg Hopp Date: Fri, 2 Mar 2012 17:40:06 +0100 Subject: [PATCH] a taste of ajax --- include/http/response.h | 3 ++- src/Makefile.am | 3 ++- src/http/response/me.c | 42 +++++++++++++++++++++++++++++---------- src/http/worker/process.c | 6 +++++- src/server/write.c | 4 ++-- 5 files changed, 42 insertions(+), 16 deletions(-) diff --git a/include/http/response.h b/include/http/response.h index 1178897..e5724cc 100644 --- a/include/http/response.h +++ b/include/http/response.h @@ -43,7 +43,8 @@ HttpResponse httpResponse304( const char *, size_t, const char *, size_t); HttpResponse httpResponse404(); -HttpResponse httpResponseMe(int); +HttpResponse httpResponseMe(); +HttpResponse httpResponseRandval(int); HttpResponse httpResponseAsset( const char *, const char *, size_t, diff --git a/src/Makefile.am b/src/Makefile.am index 0f3fd26..8970af3 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -27,7 +27,8 @@ RESP = http/response.c \ http/response/304.c \ http/response/404.c \ http/response/asset.c \ - http/response/me.c + http/response/me.c \ + http/response/randval.c PARSER = http/parser.c \ http/parser/parse.c \ http/parser/new_message.c \ diff --git a/src/http/response/me.c b/src/http/response/me.c index b20f6e4..8c3b52d 100644 --- a/src/http/response/me.c +++ b/src/http/response/me.c @@ -39,27 +39,47 @@ " \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n" \ "" \ "" \ - "200 - OK" \ + "My own little Web-App" \ + "" \ "" \ "" \ "" \ "" \ - "

Testpage

" \ - "" \ - "
%02d" \ - "
Link" \ + "
" \ + "
" \ + "

Testpage

" \ + "" \ + "
Link" \ + "
" \ "" \ "" - HttpResponse -httpResponseMe(int value) +httpResponseMe() { char buffer[200]; HttpResponse response; @@ -89,9 +109,9 @@ httpResponseMe(int value) sizeof("profession=\"coder\"")-1)); message->type = HTTP_MESSAGE_BUFFERED; - message->nbody = sizeof(RESP_DATA)-1-2; - message->body = malloc(sizeof(RESP_DATA)-2); - sprintf(message->body, RESP_DATA, value); + message->nbody = sizeof(RESP_DATA)-1; + message->body = malloc(sizeof(RESP_DATA)-1); + memcpy(message->body, RESP_DATA, sizeof(RESP_DATA)-1); nbuf = sprintf(buffer, "%d", message->nbody); diff --git a/src/http/worker/process.c b/src/http/worker/process.c index 1362b79..b5246eb 100644 --- a/src/http/worker/process.c +++ b/src/http/worker/process.c @@ -55,7 +55,11 @@ httpWorkerProcess(HttpWorker this, int fd) if (0 == strcmp("GET", request->method)) { if (0 == strcmp("/me/", request->uri)) { - response = (HttpMessage)httpResponseMe(*(this->val)); + response = (HttpMessage)httpResponseMe(); + } + + if (0 == strcmp("/randval/", request->uri)) { + response = (HttpMessage)httpResponseRandval(*(this->val)); } if (0 == strcmp("/image/", request->uri)) { diff --git a/src/server/write.c b/src/server/write.c index 7c9124f..2440f8d 100644 --- a/src/server/write.c +++ b/src/server/write.c @@ -24,7 +24,7 @@ #include "interface/logger.h" #include "interface/stream_writer.h" -void serverCloseConn(Server, unsigned int); +void serverCloseConn(Server, unsigned int); ssize_t serverWrite(Server this, unsigned int i) @@ -36,7 +36,7 @@ serverWrite(Server this, unsigned int i) loggerLog( this->logger, LOGGER_INFO, - "initialization error: NULL reader"); + "initialization error: NULL worker"); return -1; }