32 lines
1010 B
C
32 lines
1010 B
C
#include "http_response.h"
|
|
|
|
#include <string.h>
|
|
|
|
void HttpResponseHeader_Start(HttpResponseHeader *o, const char *code, const char *msg)
|
|
{
|
|
DynamicBuffer_Clear(&o->buffer);
|
|
DynamicBuffer_Append(&o->buffer, "HTTP/1.1 ", 9);
|
|
DynamicBuffer_AppendString(&o->buffer, code);
|
|
DynamicBuffer_Append(&o->buffer, " ", 1);
|
|
DynamicBuffer_AppendString(&o->buffer, msg);
|
|
DynamicBuffer_Append(&o->buffer, "\r\n", 2);
|
|
}
|
|
|
|
void HttpResponseHeader_AppendField(HttpResponseHeader *o, const char *field, const char *value)
|
|
{
|
|
DynamicBuffer_AppendString(&o->buffer, field);
|
|
DynamicBuffer_Append(&o->buffer, ": ", 2);
|
|
DynamicBuffer_AppendString(&o->buffer, value);
|
|
DynamicBuffer_Append(&o->buffer, "\r\n", 2);
|
|
}
|
|
|
|
void HttpResponseHeader_EndWithContentLength(HttpResponseHeader *o, size_t size)
|
|
{
|
|
char content_length[256];
|
|
sprintf(content_length, "%lu", size);
|
|
|
|
HttpResponseHeader_AppendField(o, "Content-Length", content_length);
|
|
DynamicBuffer_Append(&o->buffer, "\r\n\0", 3);
|
|
}
|
|
|