diff options
author | Dan Winship <danw@gnome.org> | 2012-04-20 11:29:14 -0400 |
---|---|---|
committer | Dan Winship <danw@gnome.org> | 2012-04-28 13:14:15 -0400 |
commit | bac8c22fd28479a3be149c0d742b8c7417381091 (patch) | |
tree | 64a8b40cdfb659b1339f0209ef0b1e19e861142d /libsoup/soup-message-client-io.c | |
parent | b5fd0fd154f6e91265e2525bb48c1fff1c59e139 (diff) | |
download | libsoup-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.c | 15 |
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, |