GisHttp *gis_http_new(const gchar *prefix)
{
- GisHttp *http = g_new0(GisHttp, 1);
- http->prefix = g_strdup(prefix);
- http->soup = soup_session_sync_new();
- g_object_set(http->soup, "user-agent", PACKAGE_STRING, NULL);
- return http;
+ g_debug("GisHttp: new - %s", prefix);
+ GisHttp *self = g_new0(GisHttp, 1);
+ self->soup = soup_session_sync_new();
+ self->prefix = g_strdup(prefix);
+ g_object_set(self->soup, "user-agent", PACKAGE_STRING, NULL);
+ return self;
+}
+
+void gis_http_free(GisHttp *self)
+{
+ g_debug("GisHttp: free - %s", self->prefix);
+ soup_session_abort(self->soup);
+ g_object_unref(self->soup);
+ g_free(self->prefix);
+ g_free(self);
}
/* For passing data to the chunck callback */
gchar *gis_http_fetch(GisHttp *self, const gchar *uri, const char *local,
GisCacheType mode, GisChunkCallback callback, gpointer user_data)
{
- g_debug("GisHttp: fetch - %s >> %s mode=%d", uri, self->prefix, mode);
+ g_debug("GisHttp: fetch - %.20s... >> %s/%s mode=%d",
+ uri, self->prefix, local, mode);
gchar *path = g_build_filename(g_get_user_cache_dir(), PACKAGE,
self->prefix, local, NULL);