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' => {
cookies => 'OpenInteract::Cookies::CGI', ...
}
# 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 => {
cookies => 'OpenInteract::Cookies::CGI', ...
},
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.
SEE ALSO
COPYRIGHT
Copyright (c) 2001-2002 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>