summaryrefslogtreecommitdiff
path: root/libsoup/soup-message-client-io.c
diff options
context:
space:
mode:
authorDan Winship <danw@gnome.org>2012-04-20 11:29:14 -0400
committerDan Winship <danw@gnome.org>2012-04-28 13:14:15 -0400
commitbac8c22fd28479a3be149c0d742b8c7417381091 (patch)
tree64a8b40cdfb659b1339f0209ef0b1e19e861142d /libsoup/soup-message-client-io.c
parentb5fd0fd154f6e91265e2525bb48c1fff1c59e139 (diff)
downloadlibsoup-bac8c22fd28479a3be149c0d742b8c7417381091.tar.gz
Move SoupSocket stuff out of soup-message-io.c
Add a new SoupIOStream, which wraps the SoupFilterInputStream and GOutputStream that SoupSocket exposes. Pass that to soup-message-io rather than the SoupSocket, and update various other things for this.
Diffstat (limited to 'libsoup/soup-message-client-io.c')
-rw-r--r--libsoup/soup-message-client-io.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/libsoup/soup-message-client-io.c b/libsoup/soup-message-client-io.c
index 8796e902..f6c752fc 100644
--- a/libsoup/soup-message-client-io.c
+++ b/libsoup/soup-message-client-io.c
@@ -18,6 +18,8 @@
#include "soup-connection.h"
#include "soup-headers.h"
#include "soup-message-queue.h"
+#include "soup-misc-private.h"
+#include "soup-session-async.h"
#include "soup-uri.h"
static guint
@@ -142,8 +144,19 @@ soup_message_send_request (SoupMessageQueueItem *item,
SoupMessageCompletionFn completion_cb,
gpointer user_data)
{
+ GMainContext *async_context;
+ GIOStream *iostream;
+
+ if (SOUP_IS_SESSION_ASYNC (item->session)) {
+ async_context = soup_session_get_async_context (item->session);
+ if (!async_context)
+ async_context = g_main_context_default ();
+ } else
+ async_context = NULL;
+ iostream = soup_socket_get_iostream (soup_connection_get_socket (item->conn));
+
soup_message_cleanup_response (item->msg);
- soup_message_io_client (item,
+ soup_message_io_client (item, iostream, async_context,
get_request_headers,
parse_response_headers,
item,