summaryrefslogtreecommitdiff
path: root/libsoup/soup-message.c
diff options
context:
space:
mode:
authorDan Winship <danw@src.gnome.org>2003-06-03 20:38:38 +0000
committerDan Winship <danw@src.gnome.org>2003-06-03 20:38:38 +0000
commit0c5f03a037b5dd4d6761b86e4e4160421f056aac (patch)
tree315b5295fa37211aaadd74c41f43f2f135a517c8 /libsoup/soup-message.c
parent514012912dad15272f0788c4ece31fe073f3a318 (diff)
downloadlibsoup-soup-refactoring.tar.gz
Push SoupContext into the background in preparation for itssoup-refactoring
eventual removal. * libsoup/soup-message.c (soup_message_new, soup_message_new_full): Take a SoupUri instead of a SoupContext (soup_message_set_uri): instead of set_context (redirect_handler): Use soup_message_set_uri (soup_message_get_context): gone * libsoup/soup-context.c (struct _SoupContext): Move this here. No one else needs to know. (soup_context_get): Gone (soup_context_from_uri): constify uri (get_proxy): moved here from soup-misc.c and made to return a SoupUri. (try_create_connection): Update for that. * libsoup/soup-private.h: Remove struct _SoupContext def * libsoup/soup-connection.c (soup_connection_new): constify uri * libsoup/soup-proxy-connection.c (soup_proxy_connection_new): constify uri arguments, remove SoupContext references * libsoup/soup-misc.c (soup_get_proxy): Gone * libsoup/soup-server-cgi.c (run_async): Use soup_message_set_uri, etc * libsoup/soup-server-tcp.c (read_headers_cb): Likewise * tests/*: update soup_message_new() calls
Diffstat (limited to 'libsoup/soup-message.c')
-rw-r--r--libsoup/soup-message.c50
1 files changed, 15 insertions, 35 deletions
diff --git a/libsoup/soup-message.c b/libsoup/soup-message.c
index dd307e4e..b9afc7a3 100644
--- a/libsoup/soup-message.c
+++ b/libsoup/soup-message.c
@@ -84,41 +84,39 @@ SOUP_MAKE_TYPE (soup_message, SoupMessage, class_init, init, PARENT_TYPE)
/**
* soup_message_new:
- * @context: a #SoupContext for the destination endpoint.
+ * @uri: a #SoupUri for the destination endpoint.
* @method: a (static) string which will be used as the HTTP method
* for the created request
*
- * Creates a new empty #SoupMessage, which will connect to the URL
- * represented by @context. A reference will be added to @context.
+ * Creates a new empty #SoupMessage, which will connect to @uri
*
* The new message has a status of %SOUP_STATUS_IDLE.
*
* Return value: the new #SoupMessage.
*/
SoupMessage *
-soup_message_new (SoupContext *context, const char *method)
+soup_message_new (const SoupUri *uri, const char *method)
{
SoupMessage *msg;
msg = g_object_new (SOUP_TYPE_MESSAGE, NULL);
msg->method = method;
- soup_message_set_context (msg, context);
+ soup_message_set_uri (msg, uri);
return msg;
}
/**
* soup_message_new_full:
- * @context: a #SoupContext for the destination endpoint.
+ * @uri: a #SoupUri for the destination endpoint.
* @method: a string which will be used as the HTTP method for the
* created request
* @req_owner: the #SoupOwnership of the passed data buffer.
* @req_body: a data buffer containing the body of the message request.
* @req_length: the byte length of @req_body.
*
- * Creates a new #SoupMessage, which will connect to the URL
- * represented by @context. A reference is added to @context. The
+ * Creates a new #SoupMessage, which will connect to @uri. The
* request data buffer will be filled from @req_owner, @req_body, and
* @req_length respectively.
*
@@ -127,13 +125,13 @@ soup_message_new (SoupContext *context, const char *method)
* Return value: the new #SoupMessage.
*/
SoupMessage *
-soup_message_new_full (SoupContext *context,
+soup_message_new_full (const SoupUri *uri,
const char *method,
SoupOwnership req_owner,
char *req_body,
gulong req_length)
{
- SoupMessage *msg = soup_message_new (context, method);
+ SoupMessage *msg = soup_message_new (uri, method);
msg->request.owner = req_owner;
msg->request.body = req_body;
@@ -495,7 +493,6 @@ redirect_handler (SoupMessage *msg, gpointer user_data)
if (new_loc) {
const SoupUri *old_uri;
SoupUri *new_uri;
- SoupContext *new_ctx;
old_uri = soup_message_get_uri (msg);
@@ -512,16 +509,10 @@ redirect_handler (SoupMessage *msg, gpointer user_data)
old_uri->passwd,
old_uri->authmech);
- new_ctx = soup_context_from_uri (new_uri);
+ soup_message_set_uri (msg, new_uri);
soup_uri_free (new_uri);
- if (!new_ctx)
- goto INVALID_REDIRECT;
-
- soup_message_set_context (msg, new_ctx);
- soup_context_unref (new_ctx);
-
soup_message_requeue (msg);
}
@@ -817,29 +808,18 @@ soup_message_get_http_version (SoupMessage *msg)
}
void
-soup_message_set_context (SoupMessage *msg,
- SoupContext *new_ctx)
+soup_message_set_uri (SoupMessage *msg,
+ const SoupUri *new_uri)
{
g_return_if_fail (SOUP_IS_MESSAGE (msg));
if (msg->priv->context)
soup_context_unref (msg->priv->context);
- if (new_ctx)
- soup_context_ref (new_ctx);
-
- msg->priv->context = new_ctx;
-}
-
-SoupContext *
-soup_message_get_context (SoupMessage *msg)
-{
- g_return_val_if_fail (SOUP_IS_MESSAGE (msg), NULL);
-
- if (msg->priv->context)
- soup_context_ref (msg->priv->context);
-
- return msg->priv->context;
+ if (new_uri)
+ msg->priv->context = soup_context_from_uri (new_uri);
+ else
+ msg->priv->context = NULL;
}
const SoupUri *