Change the SoupURI properties to SoupAddress properties.
[platform/upstream/libsoup.git] / libsoup / soup-session-sync.c
index 9ecac2a..3be2054 100644 (file)
@@ -11,6 +11,7 @@
 
 #include "soup-session-sync.h"
 #include "soup-session-private.h"
+#include "soup-address.h"
 #include "soup-message-private.h"
 #include "soup-misc.h"
 
@@ -186,8 +187,19 @@ process_queue_item (SoupMessageQueueItem *item)
        SoupSessionSyncPrivate *priv = SOUP_SESSION_SYNC_GET_PRIVATE (item->session);
        SoupMessage *msg = item->msg;
        SoupConnection *conn;
+       SoupAddress *addr;
+       guint status;
 
        do {
+               /* Resolve address */
+               addr = soup_message_get_address (msg);
+               status = soup_address_resolve_sync (addr, item->cancellable);
+               if (!SOUP_STATUS_IS_SUCCESSFUL (status)) {
+                       if (status != SOUP_STATUS_CANCELLED)
+                               soup_session_cancel_message (item->session, msg, status);
+                       break;
+               }
+
                /* Get a connection */
                conn = wait_for_connection (item->session, msg);
                if (!conn)