NAME
OpenInteract::Cookies::CGI - handler to parse/output cookies from/to the client using CGI::Cookie
SYNOPSIS
# In your website's 'conf/server.perl' file:
# Use CGI::Cookie
'system_alias' => {
'OpenInteract::Cookies::CGI' => [ qw/ cookies / ],
...,
}
# Retrieve the cookies from the client request
$R->cookies->parse;
# Place cookies in the outbound content header
$R->cookies->bake;
# Retrieve a cookie value in an OpenInteract content handler
$params->{search} = $R->{cookie}->{in}->{search_value};
# Create a new cookie
$R->cookies->create_cookie({ name => 'search_value',
expires => '+3M',
value => 'this AND that' });
# Expire an old cookie
$R->cookies->create_cookie({ name => 'search_value',
expires => '-3d',
value => undef });
DESCRIPTION
This module defines methods for retrieving, setting and creating cookies. If you do not know what a cookie is, check out:
http://www.ics.uci.edu/pub/ietf/http/rfc2109.txt
OpenInteract currently uses one of two modules to perform these actions. They adhere to the same interface but perform the actions using different helper modules. This module uses CGI::Cookie to do the actual cookie actions. Since this is a pure-Perl module, it should work everywhere Perl works.
To use this implementation, set the following key in the conf/server.perl
file for your website:
system_aliases => {
...,
'OpenInteract::Cookies::CGI' => [ qw/ cookies / ],
},
METHODS
Methods for this class.
create_cookie( \%params )
This function is probably the only one you will ever use from this module. Pass in normal parameters (see below) and the function will create a cookie and put it into $R for you.
Parameters:
name ($) (required)
Name of cookie
value ($ (required)
Value of cookie
expires ($ (optional)
When it expires ( '+3d', etc.). Note that negative values (e.g., '-3d' will expire the cookie on most browsers. Leaving this value empty or undefined will create a 'short-lived' cookie, meaning it will expire when the user closes her browser.
path ($) (optional)
Path it responds to
parse()
Read in the cookies passed to this request and file them into the hashref:
$R->{cookie}->{in}
with the key as the cookie name.
bake()
Puts the cookies from $R->{cookie}->{out} into the outgoing headers.
TO DO
Fully CGI-ify
Instead of calling $r->headers_out(...), put the cookies into an arrayref which can be picked up by the header printer.
BUGS
None known.
COPYRIGHT
Copyright (c) 2001 intes.net, inc.. All rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
AUTHORS
Chris Winters <chris@cwinters.com>