Provided by: libmojolicious-perl_9.35+dfsg-1_all
NAME
Mojo::UserAgent::CookieJar - Cookie jar for HTTP user agents
SYNOPSIS
use Mojo::UserAgent::CookieJar; # Add response cookies my $jar = Mojo::UserAgent::CookieJar->new; $jar->add( Mojo::Cookie::Response->new( name => 'foo', value => 'bar', domain => 'localhost', path => '/test' ) ); # Find request cookies for my $cookie (@{$jar->find(Mojo::URL->new('http://localhost/test'))}) { say $cookie->name; say $cookie->value; }
DESCRIPTION
Mojo::UserAgent::CookieJar is a minimalistic and relaxed cookie jar used by Mojo::UserAgent, based on RFC 6265 <https://tools.ietf.org/html/rfc6265>.
ATTRIBUTES
Mojo::UserAgent::CookieJar implements the following attributes. file my $file = $jar->file; $jar = $jar->file('/home/sri/cookies.txt'); File to "load" cookies from and "save" cookies to in Netscape format. Note that this attribute is EXPERIMENTAL and might change without warning! # Save cookies to file $jar->file('cookies.txt')->save; # Empty cookie jar and load cookies from file $jar->file('cookies.txt')->empty->load; ignore my $ignore = $jar->ignore; $jar = $jar->ignore(sub {...}); A callback used to decide if a cookie should be ignored by "collect". # Ignore all cookies $jar->ignore(sub { 1 }); # Ignore cookies for domains "com", "net" and "org" $jar->ignore(sub ($cookie) { return undef unless my $domain = $cookie->domain; return $domain eq 'com' || $domain eq 'net' || $domain eq 'org'; }); max_cookie_size my $size = $jar->max_cookie_size; $jar = $jar->max_cookie_size(4096); Maximum cookie size in bytes, defaults to 4096 (4KiB).
METHODS
Mojo::UserAgent::CookieJar inherits all methods from Mojo::Base and implements the following new ones. add $jar = $jar->add(@cookies); Add multiple Mojo::Cookie::Response objects to the jar. all my $cookies = $jar->all; Return all Mojo::Cookie::Response objects that are currently stored in the jar. # Names of all cookies say $_->name for @{$jar->all}; collect $jar->collect(Mojo::Transaction::HTTP->new); Collect response cookies from transaction. empty $jar = $jar->empty; Empty the jar. find my $cookies = $jar->find(Mojo::URL->new); Find Mojo::Cookie::Request objects in the jar for Mojo::URL object. # Names of all cookies found say $_->name for @{$jar->find(Mojo::URL->new('http://example.com/foo'))}; load $jar = $jar->load; Load cookies from "file". Note that this method is EXPERIMENTAL and might change without warning! prepare $jar->prepare(Mojo::Transaction::HTTP->new); Prepare request cookies for transaction. save $jar = $jar->save; Save cookies to "file". Note that this method is EXPERIMENTAL and might change without warning! to_string my $string = $jar->to_string; Stringify cookies in Netscape format. Note that this method is EXPERIMENTAL and might change without warning!
SEE ALSO
Mojolicious, Mojolicious::Guides, <https://mojolicious.org>.