|
- #pragma once
-
- #include "dynamic_buffer.h"
-
- #if defined (__cplusplus)
- extern "C" {
- #endif
-
- /// HTTP/1.1 <CODE> <MESSAGE>
- /// <HEADERS>
- typedef struct HttpResponseHeader
- {
- DynamicBuffer buffer;
- } HttpResponseHeader;
-
- /// #define HttpResponseHeader_Construct DynamicBuffer_Construct
- /// #define HttpResponseHeader_Destruct DynamicBuffer_Destruct
- #define HttpResponseHeader_Construct(o) do { \
- DynamicBuffer_Construct(&(((HttpResponseHeader *)(o))->buffer)); \
- } while (0)
-
- #define HttpResponseHeader_Destruct(o) do { \
- DynamicBuffer_Destruct(&(((HttpResponseHeader *)(o))->buffer)); \
- } while (0)
-
- #define HttpResponseHeader_End(o) do {\
- DynamicBuffer_Append(&(((HttpResponseHeader *)(o))->buffer), "\r\n\0", 3); \
- } while (0)
-
- #define HttpResponseHeader_AsString(o) (const char *)(DynamicBuffer_Buffer(&((DynamicBuffer *)(o))->buffer))
- #define HttpResponseHeader_Size(o) (DynamicBuffer_Size(&((DynamicBuffer *)(o))->buffer) - 1)
-
- void HttpResponseHeader_Start(HttpResponseHeader *o, const char *code, const char *msg);
- void HttpResponseHeader_AppendField(HttpResponseHeader *o, const char *field, const char *value);
- void HttpResponseHeader_EndWithContentLength(HttpResponseHeader *o, size_t size);
-
- #if defined (__cplusplus)
- }
- #endif
|