The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

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-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>