File Coverage

blib/lib/ASP4/FilterResolver.pm
Criterion Covered Total %
statement 18 19 94.7
branch 3 4 75.0
condition n/a
subroutine 5 5 100.0
pod 0 3 0.0
total 26 31 83.8


line stmt bran cond sub pod time code
1              
2             package ASP4::FilterResolver;
3              
4 6     6   26 use strict;
  6         8  
  6         161  
5 6     6   22 use warnings 'all';
  6         6  
  6         1297  
6             my %FilterCache = ( );
7              
8              
9             sub new
10             {
11 5122     5122 0 5507 my ($class, %args) = @_;
12            
13 5122         12525 return bless \%args, $class;
14             }# end new()
15              
16              
17 20     20 0 95 sub context { ASP4::HTTPContext->current }
18              
19              
20             sub resolve_request_filters
21             {
22 5122     5122 0 4922 my ($s, $uri) = @_;
23            
24 5122         8494 ($uri) = split /\?/, $uri;
25 5122 100       10104 return @{$FilterCache{$uri}} if $FilterCache{$uri};
  5102         12221  
26             $FilterCache{$uri} = [
27             grep {
28 20 50       245 if( my $pattern = $_->uri_match )
  20         107  
29             {
30 20         291 $uri =~ m/$pattern/
31             }
32             else
33             {
34 0         0 $uri eq $_->uri_equals;
35             }# end if()
36             } $s->context->config->web->request_filters
37             ];
38 20         521 return @{$FilterCache{$uri}};
  20         104  
39             }# end resolve_request_filters()
40              
41             1;# return true:
42