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 Creation

Create and manipulate individual cookies. More...

Functions

cookie_tcookie_new (const char *name, const char *value, const char *domain, const char *path)
 Create a new cookie.
 
cookie_parse_result_t cookie_parse_set_cookie (const char *header_value, const char *request_url, cookie_t **cookie)
 Parse a Set-Cookie header.
 
cookie_parse_result_t cookie_parse_set_cookie_headers (const char **header_values, size_t count, const char *request_url, cookie_t ***cookies, size_t *cookie_count)
 Parse multiple Set-Cookie headers.
 
cookie_tcookie_clone (const cookie_t *cookie)
 Clone a cookie.
 
void cookie_free (cookie_t *cookie)
 Free a cookie.
 

Detailed Description

Create and manipulate individual cookies.

Function Documentation

◆ cookie_clone()

cookie_t * cookie_clone ( const cookie_t * cookie)

Clone a cookie.

Parameters
cookieCookie to clone
Returns
New cookie copy, or NULL on failure

◆ cookie_free()

void cookie_free ( cookie_t * cookie)

Free a cookie.

Parameters
cookieCookie to free (can be NULL)

◆ cookie_new()

cookie_t * cookie_new ( const char * name,
const char * value,
const char * domain,
const char * path )

Create a new cookie.

Parameters
nameCookie name (required)
valueCookie value (required)
domainDomain attribute (optional, can be NULL)
pathPath attribute (optional, defaults to "/")
Returns
New cookie, or NULL on failure
cookie_t *cookie = cookie_new("session_id", "abc123", "example.com", "/");
if (cookie) {
// Use cookie...
}
HTTP cookie structure.
Definition cookie.h:105

◆ cookie_parse_set_cookie()

cookie_parse_result_t cookie_parse_set_cookie ( const char * header_value,
const char * request_url,
cookie_t ** cookie )

Parse a Set-Cookie header.

Parameters
header_valueSet-Cookie header value
request_urlURL of the request (for domain/path defaults)
cookieOutput pointer for parsed cookie
Returns
Parse result code
cookie_t *cookie = NULL;
"sessionid=abc123; Domain=example.com; Path=/; Secure; HttpOnly",
"https://example.com/login",
);
if (result == COOKIE_PARSE_SUCCESS) {
// Use parsed cookie...
} else {
printf("Parse error: %s\n", cookie_parse_error_string(result));
}

◆ cookie_parse_set_cookie_headers()

cookie_parse_result_t cookie_parse_set_cookie_headers ( const char ** header_values,
size_t count,
const char * request_url,
cookie_t *** cookies,
size_t * cookie_count )

Parse multiple Set-Cookie headers.

Parameters
header_valuesArray of Set-Cookie header values
countNumber of headers
request_urlURL of the request
cookiesOutput array of parsed cookies
cookie_countOutput number of successfully parsed cookies
Returns
Parse result code