|
NAMEMojo::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;
}
DESCRIPTIONMojo::UserAgent::CookieJar is a minimalistic and relaxed cookie jar used by Mojo::UserAgent, based on RFC 6265 <https://tools.ietf.org/html/rfc6265>. ATTRIBUTESMojo::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. # 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_sizemy $size = $jar->max_cookie_size; $jar = $jar->max_cookie_size(4096); Maximum cookie size in bytes, defaults to 4096 (4KiB). METHODSMojo::UserAgent::CookieJar inherits all methods from Mojo::Base and implements the following new ones. allmy $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};
findmy $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'))};
SEE ALSOMojolicious, Mojolicious::Guides, <https://mojolicious.org>.
|