|
- #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);
- }
|