fetcher: Define an abstraction over SoupURI

This is preparatory work for a potential libcurl backend.

Closes: #616
Approved by: jlebon
This commit is contained in:
Colin Walters authored and Atomic Bot committed 2016-12-07 23:00:58 +00:00
1 parent 099576ee4a
commit 7519457382
5 files changed
+186 -103

No files matched your search

+13 -13
View File
@@ -43,7 +43,7 @@ struct OstreeMetalink
{
GObject parent_instance;
SoupURI *uri;
OstreeFetcherURI *uri;
OstreeFetcher *fetcher;
char *requested_file;
@@ -357,7 +357,7 @@ metalink_parser_text (GMarkupParseContext *context,
case OSTREE_METALINK_STATE_URL:
{
g_autofree char *uri_text = g_strndup (text, text_len);
SoupURI *uri = soup_uri_new (uri_text);
OstreeFetcherURI *uri = _ostree_fetcher_uri_parse (uri_text, NULL);
if (uri != NULL)
g_ptr_array_add (self->urls, uri);
}
@@ -377,7 +377,7 @@ _ostree_metalink_finalize (GObject *object)
g_object_unref (self->fetcher);
g_free (self->requested_file);
soup_uri_free (self->uri);
_ostree_fetcher_uri_free (self->uri);
G_OBJECT_CLASS (_ostree_metalink_parent_class)->finalize (object);
}
@@ -399,15 +399,15 @@ OstreeMetalink *
_ostree_metalink_new (OstreeFetcher *fetcher,
const char *requested_file,
guint64 max_size,
SoupURI *uri)
OstreeFetcherURI *uri)
{
OstreeMetalink *self = (OstreeMetalink*)g_object_new (OSTREE_TYPE_METALINK, NULL);
self->fetcher = g_object_ref (fetcher);
self->requested_file = g_strdup (requested_file);
self->max_size = max_size;
self->uri = soup_uri_copy (uri);
self->uri = _ostree_fetcher_uri_clone (uri);
return self;
}
@@ -421,7 +421,7 @@ valid_hex_checksum (const char *s, gsize expected_len)
static gboolean
try_one_url (OstreeMetalinkRequest *self,
SoupURI *uri,
OstreeFetcherURI *uri,
GBytes **out_data,
GError **error)
{
@@ -486,12 +486,12 @@ try_one_url (OstreeMetalinkRequest *self,
static gboolean
try_metalink_targets (OstreeMetalinkRequest *self,
SoupURI **out_target_uri,
OstreeFetcherURI **out_target_uri,
GBytes **out_data,
GError **error)
{
gboolean ret = FALSE;
SoupURI *target_uri = NULL;
OstreeFetcherURI *target_uri = NULL;
g_autoptr(GBytes) ret_data = NULL;
if (!self->found_a_file_element)
@@ -568,7 +568,7 @@ try_metalink_targets (OstreeMetalinkRequest *self,
ret = TRUE;
if (out_target_uri)
*out_target_uri = soup_uri_copy (target_uri);
*out_target_uri = _ostree_fetcher_uri_clone (target_uri);
if (out_data)
*out_data = g_steal_pointer (&ret_data);
out:
@@ -585,7 +585,7 @@ static const GMarkupParser metalink_parser = {
typedef struct
{
SoupURI **out_target_uri;
OstreeFetcherURI **out_target_uri;
GBytes **out_data;
gboolean success;
GError **error;
@@ -594,7 +594,7 @@ typedef struct
gboolean
_ostree_metalink_request_sync (OstreeMetalink *self,
SoupURI **out_target_uri,
OstreeFetcherURI **out_target_uri,
GBytes **out_data,
GCancellable *cancellable,
GError **error)
@@ -610,7 +610,7 @@ _ostree_metalink_request_sync (OstreeMetalink *self,
g_main_context_push_thread_default (mainctx);
request.metalink = g_object_ref (self);
request.urls = g_ptr_array_new_with_free_func ((GDestroyNotify) soup_uri_free);
request.urls = g_ptr_array_new_with_free_func ((GDestroyNotify) _ostree_fetcher_uri_free);
request.parser = g_markup_parse_context_new (&metalink_parser, G_MARKUP_PREFIX_ERROR_POSITION, &request, NULL);
if (!_ostree_fetcher_request_uri_to_membuf (self->fetcher,