Provided by: libcookie-baker-perl_0.12-1_all bug

NAME

       Cookie::Baker - Cookie string generator / parser

SYNOPSIS

           use Cookie::Baker;

           $headers->push_header('Set-Cookie', bake_cookie($key,$val));

           my $cookies_hashref = crush_cookie($headers->header('Cookie'));

DESCRIPTION

       Cookie::Baker provides simple cookie string generator and parser.

XS IMPLEMENTATION

       This module tries to use Cookie::Baker::XS's crush_cookie by default.  If this fails, it will use
       Cookie::Baker's pure Perl crush_cookie.

       There is no XS implementation of bake_cookie yet.

FUNCTION

       bake_cookie
             my $cookie = bake_cookie('foo','val');
             my $cookie = bake_cookie('foo', {
                 value => 'val',
                 path => "test",
                 domain => '.example.com',
                 expires => '+24h'
             } );

           Generates  a  cookie string for an HTTP response header.  The first argument is the cookie's name and
           the second argument is a plain string or hash reference  that  can  contain  keys  such  as  "value",
           "domain", "expires", "path", "httponly", "secure", "max-age", "samesite".

           value
               Cookie's value.

           domain
               Cookie's domain.

           partitioned
               If  true,  sets  Partitioned  flag,  and  also  enforces secure, SameSite=None. false by default.
               Cookies        Having         Independent         Partitioned         State         specification
               <https://www.ietf.org/archive/id/draft-cutler-httpbis-partitioned-cookies-00.html>

           expires
               Cookie's expires date time. Several formats are supported:

                 expires => time + 24 * 60 * 60 # epoch time
                 expires => 'Wed, 03-Nov-2010 20:54:16 GMT'
                 expires => '+30s' # 30 seconds from now
                 expires => '+10m' # ten minutes from now
                 expires => '+1h'  # one hour from now
                 expires => '-1d'  # yesterday (i.e. "ASAP!")
                 expires => '+3M'  # in three months
                 expires => '+10y' # in ten years time (60*60*24*365*10 seconds)
                 expires => 'now'  #immediately

           max-age
               If defined, sets the max-age for the cookie.

           path
               Cookie's path.

           httponly
               If true, sets HttpOnly flag. false by default.

           secure
               If true, sets secure flag. false by default.

           samesite
               If  defined  as 'lax' or 'strict' or 'none' (case-insensitive), sets the SameSite restriction for
               the cookie as described  in  the  draft  proposal  <https://tools.ietf.org/html/draft-west-first-
               party-cookies-07>, which is already implemented in Chrome (v51), Safari (v12), Edge (v16),  Opera
               (v38) and Firefox (v60).

       crush_cookie
           Parses cookie string and returns a hashref.

               my $cookies_hashref = crush_cookie($headers->header('Cookie'));
               my $cookie_value = $cookies_hashref->{cookie_name}

SEE ALSO

       CPAN  already  has many cookie related modules. But there is no simple cookie string generator and parser
       module.

       CGI, CGI::Simple, Plack, Dancer::Cookie

LICENSE

       Copyright (C) Masahiro Nagano.

       This library is free software; you can redistribute it and/or modify it under  the  same  terms  as  Perl
       itself.

AUTHOR

       Masahiro Nagano <kazeburo@gmail.com>

perl v5.38.2                                       2024-01-20                                 Cookie::Baker(3pm)