diff options
| author | Sergio Villar Senin <svillar@igalia.com> | 2011-05-19 10:19:13 +0200 |
|---|---|---|
| committer | Sergio Villar Senin <svillar@igalia.com> | 2011-05-23 12:51:56 +0200 |
| commit | 023d3b5e5e0bd0f1876071687c66a5228dfe37ff (patch) | |
| tree | 48f0249e3d93f57237f329793aa22c64e2d2d71d /libsoup/soup-message-headers.c | |
| parent | aa8327f9f38b499006d10e3670ca1cedd43e07a8 (diff) | |
| download | libsoup-023d3b5e5e0bd0f1876071687c66a5228dfe37ff.tar.gz | |
soup-cache: do not store hop-by-hop headers.
Those headers are meaningful only for single transport-level connections,
we should not store them.
https://bugzilla.gnome.org/show_bug.cgi?id=650094
Diffstat (limited to 'libsoup/soup-message-headers.c')
| -rw-r--r-- | libsoup/soup-message-headers.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/libsoup/soup-message-headers.c b/libsoup/soup-message-headers.c index 1d6254c8..2f83addf 100644 --- a/libsoup/soup-message-headers.c +++ b/libsoup/soup-message-headers.c @@ -141,6 +141,30 @@ soup_message_headers_clear (SoupMessageHeaders *hdrs) } /** + * soup_message_headers_clean_connection_headers: + * @hdrs: a #SoupMessageHeaders + * + * Removes all the headers listed in the Connection header. + * + **/ +void +soup_message_headers_clean_connection_headers (SoupMessageHeaders *hdrs) +{ + /* RFC 2616 14.10 */ + const char *connection; + GSList *tokens, *t; + + connection = soup_message_headers_get_list (hdrs, "Connection"); + if (!connection) + return; + + tokens = soup_header_parse_list (connection); + for (t = tokens; t; t = t->next) + soup_message_headers_remove (hdrs, t->data); + soup_header_free_list (tokens); +} + +/** * soup_message_headers_append: * @hdrs: a #SoupMessageHeaders * @name: the header name to add |
