summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2023-04-18 15:10:53 +0200
committerMilan Crha <mcrha@redhat.com>2023-04-18 15:10:53 +0200
commit0a488216b57d4426f450259b381bb5f065ad61e9 (patch)
treec230493f0abb378d21861ca58e12fd66ea0e29f8
parentf939a483d238ca529af4e2cbb03b3513d87b6ea8 (diff)
downloadevolution-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.c8
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;