diff --git a/src/http/response/randval.c b/src/http/response/randval.c new file mode 100644 index 0000000..722a81e --- /dev/null +++ b/src/http/response/randval.c @@ -0,0 +1,74 @@ +/** + * \file + * + * \author Georg Hopp + * + * \copyright + * Copyright (C) 2012 Georg Hopp + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include +#include +#include +#include +#include + +#include "class.h" +#include "interface/class.h" + +#include "http/response.h" +#include "http/message.h" +#include "http/header.h" + + +#define RESP_DATA "%02d" + +HttpResponse +httpResponseRandval(int value) +{ + char buffer[200]; + HttpResponse response; + HttpMessage message; + size_t nbuf; + + response = new(HttpResponse, "HTTP/1.1", 200, "OK"); + message = (HttpMessage)response; + + httpHeaderAdd(&(message->header), + new(HttpHeader, + "Content-Type", + sizeof("Content-Type")-1, + "text/html", + sizeof("text/html")-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); + + nbuf = sprintf(buffer, "%d", message->nbody); + + httpHeaderAdd(&(message->header), + new(HttpHeader, + "Content-Length", + sizeof("Content-Length")-1, + buffer, + nbuf)); + + return response; +} + +// vim: set ts=4 sw=4: