From ed6f1cdcd72e6e3e9076f5440977e45ed1911811 Mon Sep 17 00:00:00 2001 From: Dan Winship Date: Sat, 26 Jan 2013 20:06:50 -0500 Subject: [PATCH] SoupSession: remove some dead code, fix proxy error messages SoupMessageQueueItem's proxy_addr and proxy_uri fields were no longer being used, but they were still there, and SoupSession was trying to use item->proxy_uri to provide clarifying information on SOUP_STATUS_CANT_RESOLVE_PROXY / SOUP_STATUS_CANT_CONNECT_PROXY. Remove the unused fields, and fix SoupSession to get the proxy name from the SoupConnection instead. https://bugzilla.gnome.org/show_bug.cgi?id=680273 --- libsoup/soup-message-queue.c | 11 ----------- libsoup/soup-message-queue.h | 2 -- libsoup/soup-session.c | 33 ++++++++++++++------------------- 3 files changed, 14 insertions(+), 32 deletions(-) diff --git a/libsoup/soup-message-queue.c b/libsoup/soup-message-queue.c index ac00f16..c7661d8 100644 --- a/libsoup/soup-message-queue.c +++ b/libsoup/soup-message-queue.c @@ -58,15 +58,6 @@ queue_message_restarted (SoupMessage *msg, gpointer user_data) { SoupMessageQueueItem *item = user_data; - if (item->proxy_addr) { - g_object_unref (item->proxy_addr); - item->proxy_addr = NULL; - } - if (item->proxy_uri) { - soup_uri_free (item->proxy_uri); - item->proxy_uri = NULL; - } - g_cancellable_reset (item->cancellable); } @@ -171,8 +162,6 @@ soup_message_queue_item_unref (SoupMessageQueueItem *item) g_object_unref (item->session); g_object_unref (item->msg); g_object_unref (item->cancellable); - g_clear_object (&item->proxy_addr); - g_clear_pointer (&item->proxy_uri, soup_uri_free); g_clear_object (&item->task); if (item->io_source) { g_source_destroy (item->io_source); diff --git a/libsoup/soup-message-queue.h b/libsoup/soup-message-queue.h index 490f9a2..848ecd0 100644 --- a/libsoup/soup-message-queue.h +++ b/libsoup/soup-message-queue.h @@ -38,8 +38,6 @@ struct _SoupMessageQueueItem { GMainContext *async_context; GCancellable *cancellable; - SoupAddress *proxy_addr; - SoupURI *proxy_uri; SoupConnection *conn; GTask *task; GSource *io_source; diff --git a/libsoup/soup-session.c b/libsoup/soup-session.c index 009b6be..ab13ca9 100644 --- a/libsoup/soup-session.c +++ b/libsoup/soup-session.c @@ -1451,45 +1451,40 @@ soup_session_set_item_status (SoupSession *session, SoupMessageQueueItem *item, guint status_code) { - SoupURI *uri; - char *msg; + SoupURI *uri = NULL; switch (status_code) { case SOUP_STATUS_CANT_RESOLVE: case SOUP_STATUS_CANT_CONNECT: uri = soup_message_get_uri (item->msg); - msg = g_strdup_printf ("%s (%s)", - soup_status_get_phrase (status_code), - uri->host); - soup_message_set_status_full (item->msg, status_code, msg); - g_free (msg); break; case SOUP_STATUS_CANT_RESOLVE_PROXY: case SOUP_STATUS_CANT_CONNECT_PROXY: - if (item->proxy_uri && item->proxy_uri->host) { - msg = g_strdup_printf ("%s (%s)", - soup_status_get_phrase (status_code), - item->proxy_uri->host); - soup_message_set_status_full (item->msg, status_code, msg); - g_free (msg); - break; - } - soup_message_set_status (item->msg, status_code); + if (item->conn) + uri = soup_connection_get_proxy_uri (item->conn); break; case SOUP_STATUS_SSL_FAILED: if (!g_tls_backend_supports_tls (g_tls_backend_get_default ())) { soup_message_set_status_full (item->msg, status_code, "TLS/SSL support not available; install glib-networking"); - } else - soup_message_set_status (item->msg, status_code); + return; + } break; default: - soup_message_set_status (item->msg, status_code); break; } + + if (uri && uri->host) { + char *msg = g_strdup_printf ("%s (%s)", + soup_status_get_phrase (status_code), + uri->host); + soup_message_set_status_full (item->msg, status_code, msg); + g_free (msg); + } else + soup_message_set_status (item->msg, status_code); } -- 2.7.4