From: Michael Tremer Date: Sun, 15 Sep 2024 02:53:19 +0000 (+0000) Subject: httpclient: Set the base URL for new xfers X-Git-Tag: 0.9.30~1198 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1652979578191865162b4ca432287ff3d278d5b8;p=pakfire.git httpclient: Set the base URL for new xfers Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/httpclient.c b/src/libpakfire/httpclient.c index 882b29d67..9043b788a 100644 --- a/src/libpakfire/httpclient.c +++ b/src/libpakfire/httpclient.c @@ -496,7 +496,31 @@ int pakfire_httpclient_set_baseurl(struct pakfire_httpclient* client, const char int pakfire_httpclient_create_xfer(struct pakfire_xfer** xfer, struct pakfire_httpclient* client, const char* url) { - return pakfire_xfer_create(xfer, client->ctx, client, url); + struct pakfire_xfer* x = NULL; + int r; + + // Create a new transfer + r = pakfire_xfer_create(&x, client->ctx, client, url); + if (r) + goto ERROR; + + // Configure the base URL + if (*client->baseurl) { + r = pakfire_xfer_set_baseurl(x, client->baseurl); + if (r) + goto ERROR; + } + + // Return the result + *xfer = x; + + return 0; + +ERROR: + if (x) + pakfire_xfer_unref(x); + + return r; } int pakfire_httpclient_enqueue_xfer(struct pakfire_httpclient* client,