Mercurial > pub > Impl
comparison Lib/IMPL/Web/Application/Action.pm @ 144:b56ebc31bf18
Empty nodes no more created while transforming a post request to the DOM document
minor speed improvements to the object CTOR caching
Added support for a secure processing (and 'laundering' ) a CGI parameters
Many minor fixes
author | wizard |
---|---|
date | Tue, 13 Jul 2010 02:05:38 +0400 |
parents | 9f5795a10939 |
children | 60fd224f3e3c |
comparison
equal
deleted
inserted
replaced
143:d9dd3500ead3 | 144:b56ebc31bf18 |
---|---|
77 } | 77 } |
78 } else { | 78 } else { |
79 die new IMPL::InvalidArgumentException("An invalid handler supplied",$handler); | 79 die new IMPL::InvalidArgumentException("An invalid handler supplied",$handler); |
80 } | 80 } |
81 | 81 |
82 } | |
83 | |
84 sub cookie { | |
85 my ($this,$name,$rx) = @_; | |
86 | |
87 $this->_launder( $this->query->cookie($name), $rx ); | |
88 } | |
89 | |
90 sub param { | |
91 my ($this,$name,$rx) = @_; | |
92 | |
93 $this->_launder( $this->query->param($name), $rx ); | |
94 } | |
95 | |
96 sub _launder { | |
97 my ($this,$value,$rx) = @_; | |
98 | |
99 if ( $value ) { | |
100 if ($rx) { | |
101 if ( my @result = ($value =~ m/$rx/) ) { | |
102 return @result > 1 ? \@result : \@result; | |
103 } else { | |
104 return undef; | |
105 } | |
106 } else { | |
107 return $value; | |
108 } | |
109 } else { | |
110 return undef; | |
111 } | |
82 } | 112 } |
83 | 113 |
84 1; | 114 1; |
85 | 115 |
86 __END__ | 116 __END__ |