Server 0.0.1
HTTP/REST server implementation

src/http/response/randval.c File Reference

#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <time.h>
#include <sys/types.h>
#include "class.h"
#include "http/response.h"
#include "http/message.h"
#include "http/header.h"
#include "utils/memory.h"
#include "hash.h"
Include dependency graph for randval.c:

Go to the source code of this file.

Defines

#define RESP_DATA   "{\"ctime\":%ld,\"vnext\":%ld,\"value\":\"%02d\"}"

Functions

HttpResponse httpResponseRandval (time_t ctime, int value)

Detailed Description

Author:
Georg Hopp

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 <http://www.gnu.org/licenses/>.

Definition in file randval.c.


Define Documentation

#define RESP_DATA   "{\"ctime\":%ld,\"vnext\":%ld,\"value\":\"%02d\"}"

Definition at line 38 of file randval.c.


Function Documentation

HttpResponse httpResponseRandval ( time_t  ctime,
int  value 
)

Definition at line 41 of file randval.c.

{
        char         buffer[200];
        HttpResponse response;
        HttpMessage  message;
        size_t       nbuf;
        time_t       remaining;

        response = new(HttpResponse, "HTTP/1.1", 200, "OK");
        message  = (HttpMessage)response;

        hashAdd(message->header,
                        new(HttpHeader, CSTRA("Content-Type"), CSTRA("application/json")));

        message->type  = HTTP_MESSAGE_BUFFERED;

        remaining = 10 - (time(NULL) - ctime);

        nbuf = sprintf(buffer, RESP_DATA, ctime, remaining, value);

        message->nbody = nbuf;
        message->body  = malloc(nbuf);
        memcpy(message->body, buffer, nbuf);

        return response;
}

Here is the call graph for this function:

Here is the caller graph for this function:

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines