From c428c80768fb24ff8e089365f969b177298ff005 Mon Sep 17 00:00:00 2001 From: Georg Hopp Date: Sat, 28 Sep 2013 21:44:25 +0100 Subject: [PATCH] add forgotten version response. --- src/http/response/version.c | 64 +++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 src/http/response/version.c diff --git a/src/http/response/version.c b/src/http/response/version.c new file mode 100644 index 0000000..deb1818 --- /dev/null +++ b/src/http/response/version.c @@ -0,0 +1,64 @@ +/** + * \file + * + * \author Georg Hopp + * + * \copyright + * Copyright © 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 "http/response.h" +#include "http/message.h" +#include "http/header.h" +#include "session.h" + +#include "utils/memory.h" +#include "hash.h" + +#define RESP_DATA "{\"version\":\"%s\"}" + +HttpResponse +httpResponseVersion(const char * version) +{ + char buffer[200]; + HttpResponse response; + HttpMessage message; + size_t nbuf; + + response = new(HttpResponse, "HTTP/1.1", 200, "OK"); + message = (HttpMessage)response; + + hashAdd(message->header, + new(HttpHeader, CSTRA("Content-Type"), CSTRA("application/json"))); + + nbuf = sprintf(buffer, RESP_DATA, (NULL != version)? version : ""); + + message->nbody = nbuf; + message->body = memMalloc(nbuf); + memcpy(message->body, buffer, nbuf); + + return response; +} + +// vim: set ts=4 sw=4: