Mojo::UserAgent::CookieJar

Section: User Contributed Perl Documentation (3)
Updated: 2018-11-22
Page Index
 

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 <http://tools.ietf.org/html/rfc6265>.  

ATTRIBUTES

Mojo::UserAgent::CookieJar implements the following attributes.  

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 {
    my $cookie = shift;
    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->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'))};

 

prepare

  $jar->prepare(Mojo::Transaction::HTTP->new);

Prepare request cookies for transaction.  

SEE ALSO

Mojolicious, Mojolicious::Guides, <https://mojolicious.org>.


 

Index

NAME
SYNOPSIS
DESCRIPTION
ATTRIBUTES
ignore
max_cookie_size
METHODS
add
all
collect
empty
find
prepare
SEE ALSO