2
0
Fork 0
lighttpd2/src/http_headers.h

28 lines
1.1 KiB
C
Raw Normal View History

#ifndef _LIGHTTPD_HTTP_HEADERS_H_
#define _LIGHTTPD_HTTP_HEADERS_H_
struct http_headers;
typedef struct http_headers http_headers;
#include "settings.h"
struct http_headers {
/** keys are lowercase header name, values contain the complete header */
GHashTable *table;
};
/* strings alweays get copied, so you should free key and value yourself */
LI_API http_headers* http_headers_new();
LI_API void http_headers_free(http_headers* headers);
/** If header does not exist, just insert normal header. If it exists, append (", %s", value) */
LI_API void http_header_append(http_headers *headers, GString *key, GString *value);
/** If header does not exist, just insert normal header. If it exists, append ("\r\n%s: %s", key, value) */
LI_API void http_header_insert(http_headers *headers, GString *key, GString *value);
/** If header does not exist, just insert normal header. If it exists, overwrite the value */
LI_API void http_header_overwrite(http_headers *headers, GString *key, GString *value);
LI_API gboolean http_header_remove(http_headers *headers, GString *key);
#endif