From e514dc2e1444188f3a6ed7356dc4e80977ca7077 Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Thu, 8 Dec 2016 14:23:48 +0100 Subject: [PATCH] Add flatpak_create_soup_session --- builder/builder-context.c | 20 +------------------- common/flatpak-dir.c | 20 +------------------- common/flatpak-utils.c | 25 +++++++++++++++++++++++++ common/flatpak-utils.h | 1 + 4 files changed, 28 insertions(+), 38 deletions(-) diff --git a/builder/builder-context.c b/builder/builder-context.c index 2b86a5b2..9c1b55c3 100644 --- a/builder/builder-context.c +++ b/builder/builder-context.c @@ -230,25 +230,7 @@ SoupSession * builder_context_get_soup_session (BuilderContext *self) { if (self->soup_session == NULL) - { - const char *http_proxy; - - self->soup_session = soup_session_new_with_options (SOUP_SESSION_USER_AGENT, "flatpak-builder ", - SOUP_SESSION_SSL_USE_SYSTEM_CA_FILE, TRUE, - SOUP_SESSION_USE_THREAD_CONTEXT, TRUE, - SOUP_SESSION_TIMEOUT, 60, - SOUP_SESSION_IDLE_TIMEOUT, 60, - NULL); - http_proxy = g_getenv ("http_proxy"); - if (http_proxy) - { - g_autoptr(SoupURI) proxy_uri = soup_uri_new (http_proxy); - if (!proxy_uri) - g_warning ("Invalid proxy URI '%s'", http_proxy); - else - g_object_set (self->soup_session, SOUP_SESSION_PROXY_URI, proxy_uri, NULL); - } - } + self->soup_session = flatpak_create_soup_session ("flatpak-builder"); return self->soup_session; } diff --git a/common/flatpak-dir.c b/common/flatpak-dir.c index 9a843134..db2da349 100644 --- a/common/flatpak-dir.c +++ b/common/flatpak-dir.c @@ -1342,29 +1342,11 @@ repo_pull_one_dir (OstreeRepo *self, static void ensure_soup_session (FlatpakDir *self) { - const char *http_proxy; - if (g_once_init_enter (&self->soup_session)) { SoupSession *soup_session; - soup_session = - soup_session_new_with_options (SOUP_SESSION_USER_AGENT, "ostree ", - SOUP_SESSION_SSL_USE_SYSTEM_CA_FILE, TRUE, - SOUP_SESSION_USE_THREAD_CONTEXT, TRUE, - SOUP_SESSION_TIMEOUT, 60, - SOUP_SESSION_IDLE_TIMEOUT, 60, - NULL); - http_proxy = g_getenv ("http_proxy"); - if (http_proxy) - { - g_autoptr(SoupURI) proxy_uri = soup_uri_new (http_proxy); - - if (!proxy_uri) - g_warning ("Invalid proxy URI '%s'", http_proxy); - else - g_object_set (soup_session, SOUP_SESSION_PROXY_URI, proxy_uri, NULL); - } + soup_session = flatpak_create_soup_session ("ostree"); if (g_getenv ("OSTREE_DEBUG_HTTP")) soup_session_add_feature (soup_session, (SoupSessionFeature *) soup_logger_new (SOUP_LOGGER_LOG_BODY, 500)); diff --git a/common/flatpak-utils.c b/common/flatpak-utils.c index e9b4055b..eda315c2 100644 --- a/common/flatpak-utils.c +++ b/common/flatpak-utils.c @@ -4287,6 +4287,31 @@ load_uri_callback (GObject *source_object, load_uri_read_cb, data); } +SoupSession * +flatpak_create_soup_session (const char *user_agent) +{ + SoupSession *soup_session; + const char *http_proxy; + + soup_session = soup_session_new_with_options (SOUP_SESSION_USER_AGENT, user_agent, + SOUP_SESSION_SSL_USE_SYSTEM_CA_FILE, TRUE, + SOUP_SESSION_USE_THREAD_CONTEXT, TRUE, + SOUP_SESSION_TIMEOUT, 60, + SOUP_SESSION_IDLE_TIMEOUT, 60, + NULL); + http_proxy = g_getenv ("http_proxy"); + if (http_proxy) + { + g_autoptr(SoupURI) proxy_uri = soup_uri_new (http_proxy); + if (!proxy_uri) + g_warning ("Invalid proxy URI '%s'", http_proxy); + else + g_object_set (soup_session, SOUP_SESSION_PROXY_URI, proxy_uri, NULL); + } + + return soup_session; +} + GBytes * flatpak_load_http_uri (SoupSession *soup_session, const char *uri, diff --git a/common/flatpak-utils.h b/common/flatpak-utils.h index 9c7105fc..4103d65d 100644 --- a/common/flatpak-utils.h +++ b/common/flatpak-utils.h @@ -520,6 +520,7 @@ long flatpak_number_prompt (int min, int max, const char *prompt, ...); typedef void (*FlatpakLoadUriProgress) (guint64 downloaded_bytes, gpointer user_data); +SoupSession * flatpak_create_soup_session (const char *user_agent); GBytes * flatpak_load_http_uri (SoupSession *soup_session, const char *uri, FlatpakLoadUriProgress progress,