3 package Catalyst::Plugin::Cache::Choose::KeyRegexes;
10 my $ret = $app->NEXT::setup( @_ );
12 my $regexes = $app->config->{cache}{key_regexes} ||= [];
14 die "the regex list must be an array containing regexex/backend pairs" unless ref $regexes eq "ARRAY";
19 sub get_cache_key_regexes {
20 my ( $c, %meta ) = @_;
21 @{ $c->config->{cache}{key_regexes} };
24 sub choose_cache_backend {
25 my ( $c, %meta ) = @_;
27 my @regexes = $c->get_cache_key_regexes( %meta );
29 while ( @regexes and my ( $re, $backend ) = splice( @regexes, 0, 2 ) ) {
30 return $backend if $meta{key} =~ $re;
33 $c->NEXT::choose_cache_backend( %meta );
44 Catalyst::Plugin::Cache::Choose::KeyRegex - Choose a cache backend based on key regexes.
48 use Catalyst::Plugin::Cache::Choose::KeyRegex;