Newer Older
74 lines | 1.484kb
copy gitweblite soruce code
root authored on 2012-11-23
1
package Mojo::Cookie::Request;
2
use Mojo::Base 'Mojo::Cookie';
3

            
update Mojolicious to 4.57
Yuki Kimoto authored on 2013-12-02
4
use Mojo::Util qw(quote split_header);
copy gitweblite soruce code
root authored on 2012-11-23
5

            
6
sub parse {
update Mojolicious 4.07
Yuki Kimoto authored on 2013-06-03
7
  my ($self, $str) = @_;
copy gitweblite soruce code
root authored on 2012-11-23
8

            
9
  my @cookies;
update Mojolicious to 4.57
Yuki Kimoto authored on 2013-12-02
10
  my @pairs = map {@$_} @{split_header(defined $str? $str: '')};
11
  while (@pairs) {
12
    my ($name, $value) = (shift @pairs, shift @pairs);
copy gitweblite soruce code
root authored on 2012-11-23
13
    next if $name =~ /^\$/;
update Mojolicious 4.07
Yuki Kimoto authored on 2013-06-03
14
    push @cookies, $self->new(name => $name, value => defined $value ? $value : '');
copy gitweblite soruce code
root authored on 2012-11-23
15
  }
16

            
17
  return \@cookies;
18
}
19

            
20
sub to_string {
21
  my $self = shift;
update Mojolicious to 4.57
Yuki Kimoto authored on 2013-12-02
22
  return '' unless length(my $name = defined $self->name ? $self->name : '');
copy gitweblite soruce code
root authored on 2012-11-23
23
  my $value = defined $self->value ? $self->value : '';
update Mojolicious to 4.57
Yuki Kimoto authored on 2013-12-02
24
  return join '=', $name, $value =~ /[,;" ]/ ? quote($value) : $value;
copy gitweblite soruce code
root authored on 2012-11-23
25
}
26

            
27
1;
28

            
update Mojolicious to 4.57
Yuki Kimoto authored on 2013-12-02
29
=encoding utf8
30

            
copy gitweblite soruce code
root authored on 2012-11-23
31
=head1 NAME
32

            
upgraded Mojolicious to v3.7...
Yuki Kimoto authored on 2013-01-28
33
Mojo::Cookie::Request - HTTP request cookie
copy gitweblite soruce code
root authored on 2012-11-23
34

            
35
=head1 SYNOPSIS
36

            
37
  use Mojo::Cookie::Request;
38

            
39
  my $cookie = Mojo::Cookie::Request->new;
40
  $cookie->name('foo');
41
  $cookie->value('bar');
upgraded Mojolicious to v3.7...
Yuki Kimoto authored on 2013-01-28
42
  say "$cookie";
copy gitweblite soruce code
root authored on 2012-11-23
43

            
44
=head1 DESCRIPTION
45

            
update Mojolicious 4.07
Yuki Kimoto authored on 2013-06-03
46
L<Mojo::Cookie::Request> is a container for HTTP request cookies as described
47
in RFC 6265.
copy gitweblite soruce code
root authored on 2012-11-23
48

            
49
=head1 ATTRIBUTES
50

            
51
L<Mojo::Cookie::Request> inherits all attributes from L<Mojo::Cookie>.
52

            
53
=head1 METHODS
54

            
55
L<Mojo::Cookie::Request> inherits all methods from L<Mojo::Cookie> and
56
implements the following new ones.
57

            
update Mojolicious and added...
Yuki Kimoto authored on 2013-03-20
58
=head2 parse
copy gitweblite soruce code
root authored on 2012-11-23
59

            
update Mojolicious 4.07
Yuki Kimoto authored on 2013-06-03
60
  my $cookies = Mojo::Cookie::Request->parse('f=b; g=a');
copy gitweblite soruce code
root authored on 2012-11-23
61

            
62
Parse cookies.
63

            
update Mojolicious and added...
Yuki Kimoto authored on 2013-03-20
64
=head2 to_string
copy gitweblite soruce code
root authored on 2012-11-23
65

            
update Mojolicious 4.07
Yuki Kimoto authored on 2013-06-03
66
  my $str = $cookie->to_string;
copy gitweblite soruce code
root authored on 2012-11-23
67

            
68
Render cookie.
69

            
70
=head1 SEE ALSO
71

            
72
L<Mojolicious>, L<Mojolicious::Guides>, L<http://mojolicio.us>.
73

            
74
=cut