Mojo-UserAgent-Cached

 view release on metacpan or  search on metacpan

lib/Mojo/UserAgent/Cached.pm  view on Meta::CPAN

        accepted_error_codes
        sorted_queries
    /;

    $ua->created_stacktrace($ua->_get_stacktrace);

    return bless($ua, $class);
}


sub invalidate {
    my ($self, $key) = @_;

    if ($self->is_cacheable($key)) {
        $self->logger->debug("Invalidating cache for '$key'");
        return $self->cache_agent->remove($key);
    }

    return;
}

t/mojo_useragent_cached.t  view on Meta::CPAN

my $ua4 = Mojo::UserAgent::Cached->new();
is $ua4->get('NOT_newsfeed.xml')->res->code, 404, 'Return 404 when file is not found';
is $ua4->get('NOT_newsfeed.xml')->res->body, '',  'Return empty body when file not found';

subtest 'Test against real URL on Mock server' => sub {
    my $ua5 = Mojo::UserAgent::Cached->new();
    $ua5->server->app($app);

    local *Mojo::UserAgent::Cached::is_cacheable = sub { return 1; };

    $ua5->invalidate('/content');

    my $tx1 = $ua5->get('/content');
    my $first_age = $tx1->res->headers->header('X-Mojo-UserAgent-Cached-Age');
    ok !$first_age, 'Not cached first time';

    my $tx2 = $ua5->get('/content');
    my $second_ts = $tx2->res->headers->header('X-Mojo-UserAgent-Cached-Cached');
    my $second_age = $tx2->res->headers->header('X-Mojo-UserAgent-Cached-Age');
    ok $second_age > 0, 'Response is cached';

 view all matches for this distribution
 view release on metacpan -  search on metacpan

( run in 1.259 second using v1.00-cache-2.02-grep-82fe00e-cpan-0ab70e22118 )