Server 0.0.1
HTTP/REST server implementation

src/http/response/304.c

Go to the documentation of this file.
00001 
00023 #include <sys/types.h>
00024 
00025 #include "class.h"
00026 
00027 #include "http/response.h"
00028 #include "http/message.h"
00029 #include "http/header.h"
00030 
00031 #include "utils/memory.h"
00032 #include "hash.h"
00033 
00034 HttpResponse
00035 httpResponse304(
00036                 const char * mime, size_t nmime,
00037                 const char * etag, size_t netag,
00038                 const char * mtime, size_t nmtime)
00039 {
00040         HttpResponse response;
00041         HttpMessage  message;
00042 
00043         response = new(HttpResponse, "HTTP/1.1", 304, "Not Modified");
00044         message  = (HttpMessage)response;
00045 
00046         message->type  = HTTP_MESSAGE_BUFFERED;
00047         message->nbody = 0;
00048         message->body  = NULL;
00049 
00050         hashAdd(message->header,
00051                         new(HttpHeader, CSTRA("Content-Type"), mime, nmime));
00052         hashAdd(message->header,
00053                         new(HttpHeader, CSTRA("ETag"), etag, netag));
00054         hashAdd(message->header,
00055                         new(HttpHeader, CSTRA("Last-Modified"), mtime, nmtime));
00056 
00057         return response;
00058 }
00059 
00060 // vim: set ts=4 sw=4:
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines