Provided by: libcookie-baker-perl_0.11-2_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.

           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>