App-Cache
view release on metacpan or search on metacpan
distribution_type: module
configure_requires:
ExtUtils::MakeMaker: 0
build_requires:
ExtUtils::MakeMaker: 0
requires:
Class::Accessor::Chained::Fast: 0
File::Find::Rule: 0
File::HomeDir: 0
File::stat: 0
HTTP::Cookies: 0
LWP::UserAgent: 0
Path::Class: 0
Storable: 0
Test::More: 0
no_index:
directory:
- t
- inc
generated_by: ExtUtils::MakeMaker version 6.55_02
meta-spec:
Makefile.PL view on Meta::CPAN
'INSTALLDIRS' => 'site',
'NAME' => 'App::Cache',
'VERSION_FROM' => 'lib/App/Cache.pm',
'ABSTRACT' => 'Easy application-level caching',
'LICENSE' => 'perl',
'AUTHOR' => 'Leon Brocard <acme@astray.com>',
'PREREQ_PM' => {
'File::Find::Rule' => '0',
'File::HomeDir' => '0',
'Storable' => '0',
'HTTP::Cookies' => '0',
'Test::More' => '0',
'Class::Accessor::Chained::Fast' => '0',
'LWP::UserAgent' => '0',
'Path::Class' => '0',
'File::stat' => '0'
}
);
lib/App/Cache.pm view on Meta::CPAN
package App::Cache;
use strict;
use warnings;
use File::Find::Rule;
use File::HomeDir;
use File::Path qw( mkpath );
use File::stat;
use HTTP::Cookies;
use LWP::UserAgent;
use Path::Class;
use Storable qw(nstore retrieve);
use base qw( Class::Accessor::Chained::Fast );
__PACKAGE__->mk_accessors(qw( application directory ttl enabled ));
our $VERSION = '0.37';
sub new {
my $class = shift;
my $self = $class->SUPER::new(@_);
lib/App/Cache.pm view on Meta::CPAN
$self->set( $key, $data );
}
return $data;
}
sub get_url {
my ( $self, $url ) = @_;
my $data = $self->get($url);
unless ($data) {
my $ua = LWP::UserAgent->new;
$ua->cookie_jar( HTTP::Cookies->new() );
my $response = $ua->get($url);
if ( $response->is_success ) {
$data = $response->content;
} else {
die "Error fetching $url: " . $response->status_line;
}
$self->set( $url, $data );
}
return $data;
}
( run in 0.606 second using v1.01-cache-2.11-cpan-10033ea8487 )