package Apache2::ASP::HTTPContext::FilterResolver; use strict; use warnings 'all'; my %FilterCache = ( ); #============================================================================== sub new { my ($class, %args) = @_; return bless \%args, $class; }# end new() #============================================================================== sub context { Apache2::ASP::HTTPContext->current } #============================================================================== sub resolve_request_filters { my ($s, $uri) = @_; ($uri) = split /\?/, $uri; return @{$FilterCache{$uri}} if $FilterCache{$uri}; $FilterCache{$uri} = [ grep { if( my $pattern = $_->uri_match ) { $uri =~ m/$pattern/ } else { $uri eq $_->uri_equals; }# end if() } $s->context->config->web->request_filters ]; return @{$FilterCache{$uri}}; }# end resolve_request_filters() 1;# return true: