ApacheCookieEncrypted
view release on metacpan or search on metacpan
Encrypted.pm view on Meta::CPAN
# check for the key and place it in the proper variable
unless ($key) {
if (exists($params->{-key})) {
$key = $params->{-key};
delete $params->{-key};
} else {
croak "No key defined - key must be defined for Apache::Cookie::Encrypted to work\n";
}
}
my $self = $class->SUPER::new($r);
if (exists($params->{-name})) {
$self->name($params->{-name});
}
if (exists($params->{-value})) {
$params->{-value} = &_encrypt_data( $params->{-value} );
$self->value($params->{-value});
}
Encrypted.pm view on Meta::CPAN
}
sub Apache::Cookie::Encrypted::value {
my $self = shift;
my $data = shift || undef;
if ($data) {
$data = &_encrypt_data($data) if $data ne '';
$self->SUPER::value($data);
} else {
my @cookie_data = $self->SUPER::value();
my $data_in;
if (scalar(@cookie_data) > 1) {
$data_in = \@cookie_data;
} else {
$data_in = $cookie_data[0];
}
my $data_out = &_decrypt_data( $data_in );
return wantarray ? @$data_out : $data_out;
}
}
sub Apache::Cookie::Encrypted::parse {
my $self = shift;
my $data = shift || undef;
my %parsed;
if ($data) {
%parsed = SUPER::parse($data);
} else {
%parsed = SUPER::parse();
}
my %new_parsed;
foreach (keys %parsed) {
$new_parsed{$_} = bless $parsed{$_}, $self;
}
return wantarray ? %new_parsed : \%new_parsed;
}
sub Apache::Cookie::Encrypted::fetch {
my $self = shift;
my %fetched = $self->SUPER::fetch();
my %enc_fetch_translated;
foreach (keys %fetched) {
$enc_fetch_translated{$_} = bless $fetched{$_}, $self;
}
return wantarray ? %enc_fetch_translated : \%enc_fetch_translated;
}
( run in 1.193 second using v1.01-cache-2.11-cpan-49f99fa48dc )