
Cookie Library
cookie-rs is a flexible library for working with HTTP cookies. It allows you to create, parse, and manage cookies.
Features
- Create cookies with various attributes (e.g.,
Domain,Path,Secure,HttpOnly). - Parse cookies from HTTP headers.
- Manage cookies using
CookieJar, which tracks additions and removals. - Support for
SameSiteattribute. - Errors are handled gracefully through
ParseError.
Quick Start
To use this library, add it to your dependencies:
[dependencies]
...
+ cookie-rs = "0.4.1"
Create a Cookie
use *;
let cookie = builder
.domain
.path
.secure
.http_only
.same_site
.build;
println!;
Output:
session=abc123; Domain=example.com; Path=/; Secure; HttpOnly; SameSite=Lax
Parse a Cookie
use Cookie;
let cookie_str = "session=abc123; Secure; HttpOnly";
let cookie = parse.expect;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;
Manage Cookies with CookieJar
use ;
let mut jar = default;
// Add a cookie
let cookie = new;
jar.add;
// Retrieve a cookie
if let Some = jar.get
// Remove a cookie
jar.remove;
assert!;
Parse Multiple Cookies from a Header
use CookieJar;
let cookie_header = "name1=value1; name2=value2";
let jar = parse.expect;
assert!;
assert!;
Convert Cookies to HTTP Header Values
use ;
let mut jar = default;
jar.add;
jar.add;
let headers = jar.as_header_values;
for header in headers
Output:
Set-Cookie: name1=value1
Set-Cookie: name2=value2