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; }
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 { my $cookie = shift; return undef unless my $domain = $cookie->domain; return $domain eq 'com' || $domain eq 'net' || $domain eq 'org'; });
my $size = $jar->max_cookie_size; $jar = $jar->max_cookie_size(4096);
Maximum cookie size in bytes, defaults to 4096 (4KiB).
$jar = $jar->add(@cookies);
Add multiple Mojo::Cookie::Response objects to the jar.
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};
$jar->collect(Mojo::Transaction::HTTP->new);
Collect response cookies from transaction.
$jar->empty;
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'))};
$jar->prepare(Mojo::Transaction::HTTP->new);
Prepare request cookies for transaction.