diff options
author | Bastien Nocera <hadess@hadess.net> | 2011-11-16 13:15:52 +0000 |
---|---|---|
committer | Bastien Nocera <hadess@hadess.net> | 2011-11-16 13:18:09 +0000 |
commit | 6929e9f9661b4d1e68f8912d8e60107366255a47 (patch) | |
tree | 6237bbc7557c0ef6be02fdcd4ea202326a12e923 /daemon | |
parent | 47a61b04fe209fc76b92de874c446d0a3f44c276 (diff) | |
download | gvfs-6929e9f9661b4d1e68f8912d8e60107366255a47.tar.gz |
http: Automatically decompress gzip'ed streams
The content-encoding of served files was completely ignored and application,
even though they were getting a content-type of "text/xml" for example,
were served gzip'ed data.
Enable the content decoder. Fixes parsing of multiple RSS feeds
in totem-pl-parser.
https://bugzilla.gnome.org/show_bug.cgi?id=664200
Diffstat (limited to 'daemon')
-rw-r--r-- | daemon/gvfsbackendhttp.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/daemon/gvfsbackendhttp.c b/daemon/gvfsbackendhttp.c index 90208d28..eaad965d 100644 --- a/daemon/gvfsbackendhttp.c +++ b/daemon/gvfsbackendhttp.c @@ -83,6 +83,7 @@ g_vfs_backend_http_init (GVfsBackendHttp *backend) const char *debug; SoupSessionFeature *proxy_resolver; SoupSessionFeature *cookie_jar; + SoupSessionFeature *content_decoder; g_vfs_backend_set_user_visible (G_VFS_BACKEND (backend), FALSE); @@ -111,6 +112,12 @@ g_vfs_backend_http_init (GVfsBackendHttp *backend) g_object_set (backend->session, "accept-language-auto", TRUE, NULL); g_object_set (backend->session_async, "accept-language-auto", TRUE, NULL); + /* Handle decompression automatically */ + content_decoder = g_object_new (SOUP_TYPE_CONTENT_DECODER, NULL); + soup_session_add_feature (backend->session, content_decoder); + soup_session_add_feature (backend->session_async, content_decoder); + g_object_unref (content_decoder); + /* Logging */ debug = g_getenv ("GVFS_HTTP_DEBUG"); if (debug) |