[evolution-ews/wip/mcrha/soup3] Handle when ESoapResponse cannot be created due to SoupMessage failure
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-ews/wip/mcrha/soup3] Handle when ESoapResponse cannot be created due to SoupMessage failure
- Date: Tue, 24 May 2022 13:24:28 +0000 (UTC)
commit 98624d80f55764bc175b75f45689ed7fa678ed5d
Author: Milan Crha <mcrha redhat com>
Date: Tue May 24 15:23:36 2022 +0200
Handle when ESoapResponse cannot be created due to SoupMessage failure
src/EWS/common/e-ews-connection.c | 2 +-
src/EWS/common/e-soap-response.c | 6 ++++++
2 files changed, 7 insertions(+), 1 deletion(-)
---
diff --git a/src/EWS/common/e-ews-connection.c b/src/EWS/common/e-ews-connection.c
index cb68d600..fbc5d28c 100644
--- a/src/EWS/common/e-ews-connection.c
+++ b/src/EWS/common/e-ews-connection.c
@@ -605,7 +605,7 @@ e_ews_connection_send_request_sync (EEwsConnection *cnc,
e_ews_connection_wait_ms (EWS_RETRY_AUTH_ERROR_SECONDS * 1000,
cancellable);
retrying_after_io_error = TRUE;
- repeat = !g_cancellable_set_error_if_cancelled (cancellable,
&local_error);
+ repeat = !g_cancellable_set_error_if_cancelled (cancellable,
&local_error2);
} else {
if (soup_message_get_response_headers (message)) {
const gchar *diagnostics;
diff --git a/src/EWS/common/e-soap-response.c b/src/EWS/common/e-soap-response.c
index 149af230..269d9d08 100644
--- a/src/EWS/common/e-soap-response.c
+++ b/src/EWS/common/e-soap-response.c
@@ -7,6 +7,7 @@
#include "evolution-ews-config.h"
#include <libedataserver/eds-version.h>
+#include <libedataserver/libedataserver.h>
#include <stdlib.h>
#include <string.h>
@@ -411,6 +412,11 @@ e_soap_response_xmldoc_from_message_sync (ESoapResponse *response,
response->priv->steal_fd = -1;
}
+ if (!SOUP_STATUS_IS_SUCCESSFUL (soup_message_get_status (msg))) {
+ g_set_error_literal (error, E_SOUP_SESSION_ERROR, soup_message_get_status (msg),
soup_message_get_reason_phrase (msg));
+ return NULL;
+ }
+
size = soup_message_headers_get_one (soup_message_get_response_headers (msg), "Content-Length");
if (size)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]