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 )