manpagez: man pages & more
man Mojo::UserAgent::CookieJar(3)
Home | html | info | man
Mojo::UserAgent::CookieJar(3)              User Contributed Perl Documentation



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(3), Mojolicious::Guides(3), <https://mojolicious.org>.

perl v5.34.1                      2023-10-27     Mojo::UserAgent::CookieJar(3)

mojolicious 9.350.0 - Generated Tue Oct 31 07:43:05 CDT 2023
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.