|
Server 0.0.1
HTTP/REST server implementation
|
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: