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

CGI

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>