void 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_io_client (item, iostream, async_context, get_request_headers, parse_response_headers, item, completion_cb, user_data); }
void soup_session_send_queue_item (SoupSession *session, SoupMessageQueueItem *item, SoupConnection *conn) { SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session); if (item->conn) { if (item->conn != conn) { g_object_unref (item->conn); item->conn = g_object_ref (conn); } } else item->conn = g_object_ref (conn); if (priv->user_agent) { soup_message_headers_replace (item->msg->request_headers, "User-Agent", priv->user_agent); } g_signal_emit (session, signals[REQUEST_STARTED], 0, item->msg, soup_connection_get_socket (conn)); soup_connection_send_request (conn, item->msg); }