|
|
|
@ -20,7 +20,7 @@ struct liHttpHeaders {
|
|
|
|
|
GQueue entries;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/* strings alweays get copied, so you should free key and value yourself */
|
|
|
|
|
/* strings always get copied, so you should free key and value yourself */
|
|
|
|
|
|
|
|
|
|
LI_API liHttpHeaders* li_http_headers_new();
|
|
|
|
|
LI_API void li_http_headers_reset(liHttpHeaders* headers);
|
|
|
|
@ -28,7 +28,7 @@ LI_API void li_http_headers_free(liHttpHeaders* headers);
|
|
|
|
|
|
|
|
|
|
/** If header does not exist, just insert normal header. If it exists, append (", %s", value) */
|
|
|
|
|
LI_API void li_http_header_append(liHttpHeaders *headers, const gchar *key, size_t keylen, const gchar *val, size_t valuelen);
|
|
|
|
|
/** If header does not exist, just insert normal header. If it exists, append ("\r\n%s: %s", key, value) */
|
|
|
|
|
/** If header does not exist, just insert normal header. If it exists, add new entry to list ("%s: %s", key, value) */
|
|
|
|
|
LI_API void li_http_header_insert(liHttpHeaders *headers, const gchar *key, size_t keylen, const gchar *val, size_t valuelen);
|
|
|
|
|
/** If header does not exist, just insert normal header. If it exists, overwrite the value */
|
|
|
|
|
LI_API void li_http_header_overwrite(liHttpHeaders *headers, const gchar *key, size_t keylen, const gchar *val, size_t valuelen);
|
|
|
|
@ -44,8 +44,8 @@ LI_API GList* li_http_header_find_last(liHttpHeaders *headers, const gchar *key,
|
|
|
|
|
/** Use lowercase keys! values are compared case-insensitive */
|
|
|
|
|
LI_API gboolean li_http_header_is(liHttpHeaders *headers, const gchar *key, size_t keylen, const gchar *val, size_t valuelen);
|
|
|
|
|
|
|
|
|
|
/** concats all headers with key with ', ' - empty if no header exists - use lowercase key*/
|
|
|
|
|
LI_API void li_http_header_get_fast(GString *dest, liHttpHeaders *headers, const gchar *key, size_t keylen);
|
|
|
|
|
/** concats all headers with key with ', ' - empty if no header exists */
|
|
|
|
|
LI_API void li_http_header_get_all(GString *dest, liHttpHeaders *headers, const gchar *key, size_t keylen);
|
|
|
|
|
|
|
|
|
|
INLINE gboolean http_header_key_is(liHttpHeader *h, const gchar *key, size_t keylen) {
|
|
|
|
|
return (h->keylen == keylen && 0 == g_ascii_strncasecmp(key, h->data->str, keylen));
|
|
|
|
|