URI::Fetch::SimpleCache - URI::Fetch extension with local cache


URI-Fetch-SimpleCache documentation Contained in the URI-Fetch-SimpleCache distribution.

Index


Code Index:

NAME

Top

URI::Fetch::SimpleCache - URI::Fetch extension with local cache

VERSION

Top

This documentation refers to URI::Fetch::SimpleCache version 0.02

SYNOPSIS

Top

    #! /usr/bin/perl

    use strict;
    use warnings;
    use URI::Fetch::SimpleCache;

    my $res = URI::Fetch::SimpleCache->fetch(
        'http://search.cpan.org/uploads.rdf',
        Cache_root => '/tmp/.cache',
        Cache_default_expires => '60 sec',
    ) or die URI::Fetch::SimpleCache->errstr;

    print $res->content;

DESCRIPTION

Top

URI::Fetch::SimpleCache is a URI::Fetch extention. Local cache files are implemented by Cache::FileCache.

METHOD

Top

fetch

This fetch method makes object of Cache::FileCache when there isn't Cache parameter. And, URI::Fetch::fetch is executed. $ENV{'HOME'} is used when there is no Cache parameter.

DEPENDENCIES

Top

URI::Fetch, Cache::FileCache

SEE ALSO

Top

URI::Fetch, Cache::FileCache

BUGS AND LIMITATIONS

Top

There are no known bugs in this module. Please report problems to Atsushi Kobayashi (<nekokak@cpan.org>) Patches are welcome.

AUTHOR

Top

Atsushi Kobayashi, <nekokak@cpan.org>

COPYRIGHT AND LICENSE

Top


URI-Fetch-SimpleCache documentation Contained in the URI-Fetch-SimpleCache distribution.

package URI::Fetch::SimpleCache;

use strict;
use warnings;
use base qw(URI::Fetch);
use Cache::FileCache;

our $VERSION = '0.02';
our $CACHE_ROOT = $ENV{'HOME'};
our $DEFAULT_EXPIRES;

sub fetch {
    my $class = shift;
    my($uri,%params) = @_;

    if ( ! $params{Cache} ) {
        if ( $params{'Cache_root'} ) {
            $CACHE_ROOT = delete $params{'Cache_root'};
        }
        if ( $params{'Cache_default_expires'} ) {
            $DEFAULT_EXPIRES = delete $params{'Cache_default_expires'};
        }
        $params{Cache} = Cache::FileCache->new({
            'cache_root'      => $CACHE_ROOT,
            'default_expires' => $DEFAULT_EXPIRES,
        });
    }

    $class->SUPER::fetch( ( $uri,%params ) );
}

1;
__END__