diff options
| author | Lionel Landwerlin <llandwerlin@gmail.com> | 2014-11-30 10:10:20 -0500 |
|---|---|---|
| committer | Dan Winship <danw@gnome.org> | 2015-03-01 10:36:27 -0500 |
| commit | a3ce28bad9e072a5dce786224b390110743e65d2 (patch) | |
| tree | e946fdfc860382ba852143e06380085087435c2f /libsoup/soup-message-headers.c | |
| parent | 6a95b6de15c150adfd959553a19aeaef8261deb1 (diff) | |
| download | libsoup-a3ce28bad9e072a5dce786224b390110743e65d2.tar.gz | |
soup-message-headers: add new APIs
Add soup_message_headers_get_header_type(),
soup_message_headers_header_contains(), and
soup_message_headers_header_equals().
Diffstat (limited to 'libsoup/soup-message-headers.c')
| -rw-r--r-- | libsoup/soup-message-headers.c | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/libsoup/soup-message-headers.c b/libsoup/soup-message-headers.c index f4a69d46..23738a1e 100644 --- a/libsoup/soup-message-headers.c +++ b/libsoup/soup-message-headers.c @@ -110,6 +110,22 @@ soup_message_headers_free (SoupMessageHeaders *hdrs) G_DEFINE_BOXED_TYPE (SoupMessageHeaders, soup_message_headers, soup_message_headers_copy, soup_message_headers_free) /** + * soup_message_headers_get_headers_type: + * @hdrs: a #SoupMessageHeaders + * + * Gets the type of headers. + * + * Return value: the header's type. + * + * Since: 2.50 + **/ +SoupMessageHeadersType +soup_message_headers_get_headers_type (SoupMessageHeaders *hdrs) +{ + return hdrs->type; +} + +/** * soup_message_headers_clear: * @hdrs: a #SoupMessageHeaders * @@ -320,6 +336,59 @@ soup_message_headers_get_one (SoupMessageHeaders *hdrs, const char *name) } /** + * soup_message_headers_header_contains: + * @hdrs: a #SoupMessageHeaders + * @name: header name + * @token: token to look for + * + * Checks whether the list-valued header @name is present in @hdrs, + * and contains a case-insensitive match for @token. + * + * (If @name is present in @hdrs, then this is equivalent to calling + * soup_header_contains() on its value.) + * + * Return value: %TRUE if the header is present and contains @token, + * %FALSE otherwise. + * + * Since: 2.50 + **/ +gboolean +soup_message_headers_header_contains (SoupMessageHeaders *hdrs, const char *name, const char *token) +{ + const char *value; + + value = soup_message_headers_get_list (hdrs, name); + if (!value) + return FALSE; + return soup_header_contains (value, token); +} + +/** + * soup_message_headers_header_equals: + * @hdrs: a #SoupMessageHeaders + * @name: header name + * @value: expected value + * + * Checks whether the header @name is present in @hdrs and is + * (case-insensitively) equal to @value. + * + * Return value: %TRUE if the header is present and its value is + * @value, %FALSE otherwise. + * + * Since: 2.50 + **/ +gboolean +soup_message_headers_header_equals (SoupMessageHeaders *hdrs, const char *name, const char *value) +{ + const char *internal_value; + + internal_value = soup_message_headers_get_list (hdrs, name); + if (!internal_value) + return FALSE; + return !g_ascii_strcasecmp (internal_value, value); +} + +/** * soup_message_headers_get_list: * @hdrs: a #SoupMessageHeaders * @name: header name |
