AnyEvent-HTTPD-CookiePatch
view release on metacpan or search on metacpan
lib/AnyEvent/HTTPD/CookiePatch.pm view on Meta::CPAN
The response header field Set-Cookie's value
=cut
use AnyEvent::HTTPD::SendMultiHeaderPatch;
our @ISA = 'AnyEvent::HTTPD::Request';
sub cookie {
my($req, $name, $value, $max_age, $path, $domain) = @_;
if( defined $value ) { # set cookie
my $fragment = "$name=$value";
$fragment .= "; Max-Age=$max_age" if( defined $max_age );
$fragment .= "; Path=$path" if( defined $path );
$fragment .= "; Domain=$domain" if( defined $domain );
if( exists $req->{_set_cookie} ) {
$req->{_set_cookie} .= "\0$fragment";
}
else {
$req->{_set_cookie} = $fragment;
}
}
else { # get cookie
if( !$req->{_cookie} ) {
my $cookie_header = $req->headers->{cookie};
my %cookie;
while( $cookie_header =~ / *([^ =]+)\s*=\s*([^ ;]*)\s*;?/g ) {
$cookie{$1} = $2;
}
$req->{_cookie} = \%cookie;
( run in 0.812 second using v1.01-cache-2.11-cpan-b16cb0d3907 )