diff options
author | Dan Winship <danw@gnome.org> | 2013-01-26 20:06:50 -0500 |
---|---|---|
committer | Dan Winship <danw@gnome.org> | 2013-02-16 18:02:15 -0500 |
commit | ed6f1cdcd72e6e3e9076f5440977e45ed1911811 (patch) | |
tree | 84e3588ef28011e37a7593b365809ae620d3fd85 /libsoup/soup-session.c | |
parent | cf558c8514686851b8eea544a0b110c7d705ea9e (diff) | |
download | libsoup-ed6f1cdcd72e6e3e9076f5440977e45ed1911811.tar.gz |
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
Diffstat (limited to 'libsoup/soup-session.c')
-rw-r--r-- | libsoup/soup-session.c | 33 |
1 files changed, 14 insertions, 19 deletions
diff --git a/libsoup/soup-session.c b/libsoup/soup-session.c index 009b6bed..ab13ca9e 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); } |