[grilo/wip/hadess/soup3: 1/3] net: Simplify error reporting




commit 79d9b3bb407287ea438f33cf76e36dc6380d497f
Author: Bastien Nocera <hadess hadess net>
Date:   Mon Jul 4 15:07:18 2022 +0200

    net: Simplify error reporting
    
    libsoup3 doesn't return a partial response on failure like libsoup2 used
    to do, so remove that from the error parsing.

 libs/net/grl-net-wc.c | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)
---
diff --git a/libs/net/grl-net-wc.c b/libs/net/grl-net-wc.c
index 2d68f93..d992664 100644
--- a/libs/net/grl-net-wc.c
+++ b/libs/net/grl-net-wc.c
@@ -427,12 +427,8 @@ request_clos_destroy (gpointer data)
 static void
 parse_error (guint status,
              const gchar *reason,
-             const gchar *response,
              GSimpleAsyncResult *result)
 {
-  if (!response || *response == '\0')
-    response = reason;
-
   switch (status) {
   case SOUP_STATUS_CANT_RESOLVE:
   case SOUP_STATUS_CANT_CONNECT:
@@ -454,26 +450,26 @@ parse_error (guint status,
     g_simple_async_result_set_error (result, GRL_NET_WC_ERROR,
                                      GRL_NET_WC_ERROR_PROTOCOL_ERROR,
                                      _("Invalid request URI or header: %s"),
-                                     response);
+                                     reason);
     return;
   case SOUP_STATUS_UNAUTHORIZED: /* 401 */
   case SOUP_STATUS_FORBIDDEN: /* 403 */
     g_simple_async_result_set_error (result, GRL_NET_WC_ERROR,
                                      GRL_NET_WC_ERROR_AUTHENTICATION_REQUIRED,
-                                     _("Authentication required: %s"), response);
+                                     _("Authentication required: %s"), reason);
     return;
   case SOUP_STATUS_NOT_FOUND: /* 404 */
     g_simple_async_result_set_error (result, GRL_NET_WC_ERROR,
                                      GRL_NET_WC_ERROR_NOT_FOUND,
                                      _("The requested resource was not found: %s"),
-                                     response);
+                                     reason);
     return;
   case SOUP_STATUS_CONFLICT: /* 409 */
   case SOUP_STATUS_PRECONDITION_FAILED: /* 412 */
     g_simple_async_result_set_error (result, GRL_NET_WC_ERROR,
                                      GRL_NET_WC_ERROR_CONFLICT,
                                      _("The entry has been modified since it was downloaded: %s"),
-                                     response);
+                                     reason);
     return;
   case SOUP_STATUS_CANCELLED:
     g_simple_async_result_set_error (result, G_IO_ERROR,
@@ -611,7 +607,6 @@ read_async_cb (GObject *source,
     if (msg && msg->status_code != SOUP_STATUS_OK) {
         parse_error (msg->status_code,
                      msg->reason_phrase,
-                     msg->response_body->data,
                      G_SIMPLE_ASYNC_RESULT (user_data));
         g_object_unref (msg);
     }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]