package Protocol::WebSocket::Cookie::Response;
use strict;
use warnings;
use base 'Protocol::WebSocket::Cookie';
sub parse {
my $self = shift;
$self->SUPER::parse(@_);
}
sub to_string {
my $self = shift;
my $pairs = [];
push @$pairs, [$self->{name}, $self->{value}];
push @$pairs, ['Comment', $self->{comment}] if defined $self->{comment};
push @$pairs, ['CommentURL', $self->{comment_url}]
if defined $self->{comment_url};
push @$pairs, ['Discard'] if $self->{discard};
push @$pairs, ['Max-Age' => $self->{max_age}] if defined $self->{max_age};
push @$pairs, ['Path' => $self->{path}] if defined $self->{path};
if (defined $self->{portlist}) {
$self->{portlist} = [$self->{portlist}]
unless ref $self->{portlist} eq 'ARRAY';
my $list = join ' ' => @{$self->{portlist}};
push @$pairs, ['Port' => "\"$list\""];
}
push @$pairs, ['Secure'] if $self->{secure};
push @$pairs, ['Version' => '1'];
$self->pairs($pairs);
return $self->SUPER::to_string;
}
1;
__END__
=head1 NAME
Protocol::WebSocket::Cookie::Response - WebSocket Cookie Response
=head1 SYNOPSIS
# Constructor
my $cookie = Protocol::WebSocket::Cookie::Response->new(
name => 'foo',
value => 'bar',
discard => 1,
max_age => 0
);
$cookie->to_string; # foo=bar; Discard; Max-Age=0; Version=1
# Parser
my $cookie = Protocol::WebSocket::Cookie::Response->new;
$cookie->parse('foo=bar; Discard; Max-Age=0; Version=1');
=head1 DESCRIPTION
Construct or parse a WebSocket response cookie.
=head1 METHODS
=head2 C<parse>
Parse a WebSocket response cookie.
=head2 C<to_string>
Construct a WebSocket response cookie.
=cut