summaryrefslogtreecommitdiff
path: root/libsoup/soup-session.c
diff options
context:
space:
mode:
authorDan Winship <danw@gnome.org>2013-01-26 20:06:50 -0500
committerDan Winship <danw@gnome.org>2013-02-16 18:02:15 -0500
commited6f1cdcd72e6e3e9076f5440977e45ed1911811 (patch)
tree84e3588ef28011e37a7593b365809ae620d3fd85 /libsoup/soup-session.c
parentcf558c8514686851b8eea544a0b110c7d705ea9e (diff)
downloadlibsoup-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.c33
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);
}