-
-
07 Jun 2019 06:28:18 UTC
- Distribution: Cookie-Baker
- Module version: 0.11
- Source (raw)
- Browse (raw)
- Changes
- Homepage
- How to Contribute
- Repository
- Issues (5)
- Testers (9464 / 0 / 0)
- Kwalitee
Bus factor: 1- 89.92% Coverage
- License: perl_5
- Perl: v5.8.1
- Activity
24 month- Tools
- Download (12.2KB)
- MetaCPAN Explorer
- Permissions
- Subscribe to distribution
- Permalinks
- This version
- Latest version
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, 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>
Module Install Instructions
To install Cookie::Baker, copy and paste the appropriate command in to your terminal.
cpanm Cookie::Baker
perl -MCPAN -e shell install Cookie::Baker
For more information on module installation, please visit the detailed CPAN module installation guide.