| OpenInteract documentation | view source | Contained in the OpenInteract distribution. |
OpenInteract::Cookies::CGI - handler to parse/output cookies from/to the client using CGI::Cookie
# 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 });
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 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:
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.
Fully CGI-ify
Instead of calling $r->headers_out(...), put the cookies into an arrayref which can be picked up by the header printer.
None known.
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.
Chris Winters <chris@cwinters.com>
| OpenInteract documentation | view source | Contained in the OpenInteract distribution. |