diff options
author | Yorhel <git@yorhel.nl> | 2011-01-15 12:13:50 +0100 |
---|---|---|
committer | Yorhel <git@yorhel.nl> | 2011-01-15 12:13:50 +0100 |
commit | 2fee6786f9f4f79929cf7ff85b9749f5e1188b91 (patch) | |
tree | 4f9fb4f2dc88cc3208c68f9ab3c3b54ad951ac3f /lib/TUWF/Request.pm | |
parent | f06fb04cc964013cb0f6b6425b5aa55912e3c71d (diff) |
Added cookie_prefix option
Diffstat (limited to 'lib/TUWF/Request.pm')
-rw-r--r-- | lib/TUWF/Request.pm | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/TUWF/Request.pm b/lib/TUWF/Request.pm index 44805ca..a5975c7 100644 --- a/lib/TUWF/Request.pm +++ b/lib/TUWF/Request.pm @@ -23,7 +23,7 @@ sub reqInit { if ($ENV{REQUEST_URI}||'') =~ /\?/; } - $self->{_TUWF}{Req}{Cookies} = _parse_cookies($ENV{HTTP_COOKIE} || $ENV{COOKIE}); + $self->{_TUWF}{Req}{Cookies} = _parse_cookies($self, $ENV{HTTP_COOKIE} || $ENV{COOKIE}); $self->{_TUWF}{Req}{GET} = _parse_urlencoded($ENV{QUERY_STRING}); my $meth = $self->reqMethod; @@ -119,7 +119,7 @@ sub _parse_multipart { sub _parse_cookies { - my $str = shift; + my($self, $str) = @_; return {} if !$str; my %dat; @@ -131,7 +131,9 @@ sub _parse_cookies { s/^ +//; s/ +$//; next if !$_ || !m{^([^\(\)<>@,;:\\"/\[\]\?=\{\}\t\s]+)=("?)(.*)\2$}; - $dat{$1} = $3 if !exists $dat{$1}; + my($n, $v) = ($1, $3); + next if $self->{_TUWF}{cookie_prefix} && !s/^\Q$self->{_TUWF}{cookie_prefix}\E//; + $dat{$n} = $v if !exists $dat{$n}; } return \%dat; } |