libfetch 0.0.0
A lightweight asynchronous HTTP/1.1 client library implementing a subset of the WHATWG Fetch API.
Loading...
Searching...
No Matches
Cookie Storage

Add, remove, and manage cookies in jars. More...

Functions

bool cookie_jar_add (cookie_jar_t *jar, cookie_t *cookie)
 Add a cookie to a jar.
 
bool cookie_jar_remove (cookie_jar_t *jar, const char *name, const char *domain, const char *path)
 Remove a specific cookie from jar.
 
size_t cookie_jar_remove_domain (cookie_jar_t *jar, const char *domain)
 Remove all cookies for a domain.
 
size_t cookie_jar_cleanup_expired (cookie_jar_t *jar)
 Remove expired cookies from jar.
 
size_t cookie_jar_remove_session (cookie_jar_t *jar)
 Remove all session cookies from jar.
 

Detailed Description

Add, remove, and manage cookies in jars.

Function Documentation

◆ cookie_jar_add()

bool cookie_jar_add ( cookie_jar_t * jar,
cookie_t * cookie )

Add a cookie to a jar.

Parameters
jarCookie jar
cookieCookie to add (ownership transferred to jar)
Returns
True if cookie was added successfully
cookie_t *cookie = cookie_new("test", "value", "example.com", "/");
if (cookie_jar_add(jar, cookie)) {
printf("Cookie added successfully\n");
} else {
// Cookie not added, we still own it
}
HTTP cookie structure.
Definition cookie.h:105

◆ cookie_jar_cleanup_expired()

size_t cookie_jar_cleanup_expired ( cookie_jar_t * jar)

Remove expired cookies from jar.

Parameters
jarCookie jar
Returns
Number of cookies removed

Call this periodically to clean up expired cookies.

◆ cookie_jar_remove()

bool cookie_jar_remove ( cookie_jar_t * jar,
const char * name,
const char * domain,
const char * path )

Remove a specific cookie from jar.

Parameters
jarCookie jar
nameCookie name
domainCookie domain
pathCookie path
Returns
True if cookie was found and removed

◆ cookie_jar_remove_domain()

size_t cookie_jar_remove_domain ( cookie_jar_t * jar,
const char * domain )

Remove all cookies for a domain.

Parameters
jarCookie jar
domainDomain name
Returns
Number of cookies removed
size_t removed = cookie_jar_remove_domain(jar, "old-site.com");
printf("Removed %zu cookies for old-site.com\n", removed);

◆ cookie_jar_remove_session()

size_t cookie_jar_remove_session ( cookie_jar_t * jar)

Remove all session cookies from jar.

Parameters
jarCookie jar
Returns
Number of cookies removed

Useful when user logs out or closes browser.