| Apache-Session documentation | Contained in the Apache-Session distribution. |
Apache::Session::Serialize::Base64 - Use Storable and MIME::Base64 to zip up persistent data
use Apache::Session::Serialize::Base64; $zipped = Apache::Session::Serialize::Base64::serialize($ref); $ref = Apache::Session::Serialize::Base64::unserialize($zipped);
This module fulfills the serialization interface of Apache::Session.
It serializes the data in the session object by use of Storable's
nfreeze() and thaw() functions, and MIME::Base64's encode_bas64
and decode_base64. The serialized data is ASCII text, suitable for
storage in backing stores that don't handle binary data gracefully, such
as Postgres.
This module was written by Jeffrey William Baker <jwbaker@acm.org>.
| Apache-Session documentation | Contained in the Apache-Session distribution. |
############################################################################# # # Apache::Session::Serialize::Base64 # Serializes session objects using Storable and MIME::Base64 # Copyright(c) 2000 Jeffrey William Baker (jwbaker@acm.org) # Distribute under the Perl License # ############################################################################ package Apache::Session::Serialize::Base64; use strict; use vars qw($VERSION); use MIME::Base64; use Storable qw(nfreeze thaw); $VERSION = '1.01'; sub serialize { my $session = shift; $session->{serialized} = encode_base64(nfreeze($session->{data})); } sub unserialize { my $session = shift; my $data = thaw(decode_base64($session->{serialized})); die "Session could not be unserialized" unless defined $data; #Storable can return undef or die for different errors $session->{data} = $data; } 1;