summaryrefslogtreecommitdiff
path: root/libsoup/soup-session.c
diff options
context:
space:
mode:
Diffstat (limited to 'libsoup/soup-session.c')
-rw-r--r--libsoup/soup-session.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/libsoup/soup-session.c b/libsoup/soup-session.c
index bc2adc8a..74e83ac5 100644
--- a/libsoup/soup-session.c
+++ b/libsoup/soup-session.c
@@ -172,6 +172,7 @@ G_DEFINE_TYPE_WITH_PRIVATE (SoupSession, soup_session, G_TYPE_OBJECT)
enum {
REQUEST_QUEUED,
REQUEST_UNQUEUED,
+ REQUEST_STARTED,
AUTHENTICATE,
CONNECTION_CREATED,
TUNNELING,
@@ -1224,6 +1225,8 @@ soup_session_send_queue_item (SoupSession *session,
"Connection", "Keep-Alive");
}
+ g_signal_emit (session, signals[REQUEST_STARTED], 0,
+ item->msg, soup_connection_get_socket (item->conn));
soup_message_starting (item->msg);
if (item->state == SOUP_MESSAGE_RUNNING)
soup_connection_send_request (item->conn, item, completion_cb, item);
@@ -2920,6 +2923,29 @@ soup_session_class_init (SoupSessionClass *session_class)
SOUP_TYPE_MESSAGE);
/**
+ * SoupSession::request-started:
+ * @session: the session
+ * @msg: the request being sent
+ * @socket: the socket the request is being sent on
+ *
+ * Emitted just before a request is sent. See
+ * #SoupSession::request_queued for a detailed description of
+ * the message lifecycle within a session.
+ *
+ * Deprecated: 2.50. Use #SoupMessage::starting instead.
+ **/
+ signals[REQUEST_STARTED] =
+ g_signal_new ("request-started",
+ G_OBJECT_CLASS_TYPE (object_class),
+ G_SIGNAL_RUN_FIRST,
+ G_STRUCT_OFFSET (SoupSessionClass, request_started),
+ NULL, NULL,
+ NULL,
+ G_TYPE_NONE, 2,
+ SOUP_TYPE_MESSAGE,
+ SOUP_TYPE_SOCKET);
+
+ /**
* SoupSession::request-unqueued:
* @session: the session
* @msg: the request that was unqueued