summaryrefslogtreecommitdiff
path: root/lib/TUWF/Request.pm
diff options
context:
space:
mode:
authorYorhel <git@yorhel.nl>2011-01-15 12:13:50 +0100
committerYorhel <git@yorhel.nl>2011-01-15 12:13:50 +0100
commit2fee6786f9f4f79929cf7ff85b9749f5e1188b91 (patch)
tree4f9fb4f2dc88cc3208c68f9ab3c3b54ad951ac3f /lib/TUWF/Request.pm
parentf06fb04cc964013cb0f6b6425b5aa55912e3c71d (diff)
Added cookie_prefix option
Diffstat (limited to 'lib/TUWF/Request.pm')
-rw-r--r--lib/TUWF/Request.pm8
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;
}