diff options
author | Milan Crha <mcrha@redhat.com> | 2023-04-18 15:10:53 +0200 |
---|---|---|
committer | Milan Crha <mcrha@redhat.com> | 2023-04-18 15:10:53 +0200 |
commit | 0a488216b57d4426f450259b381bb5f065ad61e9 (patch) | |
tree | c230493f0abb378d21861ca58e12fd66ea0e29f8 | |
parent | f939a483d238ca529af4e2cbb03b3513d87b6ea8 (diff) | |
download | evolution-0a488216b57d4426f450259b381bb5f065ad61e9.tar.gz |
RSS: Claim an error when feed download fails
The feed download can fail on a server error, still returning
some non-feed data, thus claim an error about failed download
in such cases, to have set both `success` to FALSE and the error
itself.
-rw-r--r-- | src/modules/rss/camel/camel-rss-folder.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/modules/rss/camel/camel-rss-folder.c b/src/modules/rss/camel/camel-rss-folder.c index d6bd517be0..3a83fa73e7 100644 --- a/src/modules/rss/camel/camel-rss-folder.c +++ b/src/modules/rss/camel/camel-rss-folder.c @@ -315,6 +315,14 @@ rss_folder_refresh_info_sync (CamelFolder *folder, success = SOUP_STATUS_IS_SUCCESSFUL (soup_message_get_status (message)); + if (!success) { + g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED, + _("Failed to download feeds, error code %d (%s)"), + soup_message_get_status (message), + soup_message_get_reason_phrase (message) ? soup_message_get_reason_phrase (message) : + soup_status_get_phrase (soup_message_get_status (message))); + } + if (success && e_rss_parser_parse ((const gchar *) g_bytes_get_data (bytes, NULL), g_bytes_get_size (bytes), NULL, NULL, NULL, NULL, &feeds)) { CamelSettings *settings; CamelRssSettings *rss_settings; |