[grilo/wip/hadess/props: 1/2] net: Cache user-agent property
- From: Bastien Nocera <hadess src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [grilo/wip/hadess/props: 1/2] net: Cache user-agent property
- Date: Tue, 5 Jul 2022 09:05:34 +0000 (UTC)
commit 891cb0a7872d17eccad5fd619c04c48fda650de4
Author: Bastien Nocera <hadess hadess net>
Date: Tue Jul 5 10:29:51 2022 +0200
net: Cache user-agent property
So we don't rely on a SoupSession keeping it.
libs/net/grl-net-wc.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
---
diff --git a/libs/net/grl-net-wc.c b/libs/net/grl-net-wc.c
index 2d68f93..aa06bc8 100644
--- a/libs/net/grl-net-wc.c
+++ b/libs/net/grl-net-wc.c
@@ -76,6 +76,7 @@ struct request_res {
struct _GrlNetWcPrivate {
SoupSession *session;
+ char *user_agent;
SoupLoggerLogLevel log_level;
/* throttling in secs */
guint throttling;
@@ -334,6 +335,7 @@ grl_net_wc_finalize (GObject *object)
finalize_requester (wc);
finalize_mock_requester (wc);
+ g_clear_pointer (&wc->priv->user_agent, g_free);
g_queue_free (wc->priv->pending);
g_object_unref (wc->priv->session);
@@ -364,8 +366,10 @@ grl_net_wc_set_property (GObject *object,
grl_net_wc_set_cache_size (wc, g_value_get_uint (value));
break;
case PROP_USER_AGENT:
+ g_clear_pointer (&wc->priv->user_agent, g_free);
+ wc->priv->user_agent = g_value_dup_string (value);
g_object_set (G_OBJECT (wc->priv->session),
- "user-agent", g_value_get_string (value),
+ "user-agent", wc->priv->user_agent,
NULL);
break;
default:
@@ -397,7 +401,7 @@ grl_net_wc_get_property (GObject *object,
g_value_set_uint (value, wc->priv->cache_size);
break;
case PROP_USER_AGENT:
- g_object_get_property (G_OBJECT (wc->priv->session), "user_agent", value);
+ g_value_set_string (value, wc->priv->user_agent);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (wc, propid, pspec);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]