static void cache_down (GrlNetWc *self) { GFile *cache_dir_file; GrlNetWcPrivate *priv = self->priv; SoupSessionFeature *cache = soup_session_get_feature (priv->session, SOUP_TYPE_CACHE); gchar *cache_dir; GRL_DEBUG ("cache down"); if (!cache) { return; } soup_cache_clear (SOUP_CACHE (cache)); g_object_get (cache, "cache-dir", &cache_dir, NULL); cache_dir_file = g_file_new_for_path (cache_dir); g_free (cache_dir); g_file_delete (cache_dir_file, NULL, NULL); g_object_unref (G_OBJECT (cache_dir_file)); soup_session_remove_feature (priv->session, cache); }
/** * Sets the path where the cookies are going to be stored. Use @c NULL for keep * them just in memory. * * @param filename path to the cookies.txt file. * * @return @c EINA_FALSE if it wasn't possible to create the cookie jar, * @c EINA_FALSE otherwise. */ Eina_Bool ewk_cookies_file_set(const char *filename) { #if USE(SOUP) SoupCookieJar* cookieJar = 0; if (filename) cookieJar = soup_cookie_jar_text_new(filename, FALSE); else cookieJar = soup_cookie_jar_new(); if (!cookieJar) return EINA_FALSE; soup_cookie_jar_set_accept_policy(cookieJar, SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY); SoupSession* session = WebCore::ResourceHandle::defaultSession(); SoupSessionFeature* oldjar = soup_session_get_feature(session, SOUP_TYPE_COOKIE_JAR); if (oldjar) soup_session_remove_feature(session, oldjar); WebCore::setDefaultCookieJar(cookieJar); soup_session_add_feature(session, SOUP_SESSION_FEATURE(cookieJar)); return EINA_TRUE; #else return EINA_FALSE; #endif }
void cmd_http_debug() { soup_session_remove_feature (uzbl.net.soup_session, SOUP_SESSION_FEATURE(uzbl.net.soup_logger)); /* do we leak if this doesn't get freed? why does it occasionally crash if freed? */ /*g_free(uzbl.net.soup_logger);*/ uzbl.net.soup_logger = soup_logger_new(uzbl.behave.http_debug, -1); soup_session_add_feature(uzbl.net.soup_session, SOUP_SESSION_FEATURE(uzbl.net.soup_logger)); }
static void dispose (GObject *object) { SoupSession *session = SOUP_SESSION (object); SoupSessionPrivate *priv = SOUP_SESSION_GET_PRIVATE (session); soup_session_abort (session); while (priv->features) soup_session_remove_feature (session, priv->features->data); G_OBJECT_CLASS (soup_session_parent_class)->dispose (object); }
/** * soup_session_remove_feature_by_type: * @session: a #SoupSession * @feature_type: the #GType of a class that implements #SoupSessionFeature * * Removes all features of type @feature_type (or any subclass of * @feature_type) from @session. You can also remove standard features * from the session at construct time by using the * %SOUP_SESSION_REMOVE_FEATURE_BY_TYPE property. * * Since: 2.24 **/ void soup_session_remove_feature_by_type (SoupSession *session, GType feature_type) { SoupSessionPrivate *priv; GSList *f; g_return_if_fail (SOUP_IS_SESSION (session)); priv = SOUP_SESSION_GET_PRIVATE (session); restart: for (f = priv->features; f; f = f->next) { if (G_TYPE_CHECK_INSTANCE_TYPE (f->data, feature_type)) { soup_session_remove_feature (session, f->data); goto restart; } } }
void SoupNetworkSession::setCookieJar(SoupCookieJar* jar) { if (SoupCookieJar* currentJar = cookieJar()) soup_session_remove_feature(m_soupSession.get(), SOUP_SESSION_FEATURE(currentJar)); soup_session_add_feature(m_soupSession.get(), SOUP_SESSION_FEATURE(jar)); }
/** * soup_logger_detach: * @logger: a #SoupLogger * @session: a #SoupSession * * Stops @logger from watching @session. * * Deprecated: Use soup_session_remove_feature() instead. **/ void soup_logger_detach (SoupLogger *logger, SoupSession *session) { soup_session_remove_feature (session, SOUP_SESSION_FEATURE (logger)); }