Masahiro Nagano > Cookie-Baker-0.03 > Cookie::Baker

Download:
Cookie-Baker-0.03.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: 0.03   Source  

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 try to use Cookie::Baker::XS's crush_cookie by default and fail to it, 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 cookie string for HTTP response header. First argument is cookies' name and seconds argument is plain string or hash reference that can contain keys such as value, domain, expires, path, httponly, secure, max-age.

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
  expires => 'now'  #immediately
path

Cookie's path.

httponly

If true, give HttpOnly flag. false by default.

secure

If true, give secure flag. false by default.

crush_cookie

Parses cookie string and returns 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 not simple cookie string generator and parser modules.

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>

syntax highlighting: