Cache-Ehcache
view release on metacpan or search on metacpan
lib/Cache/Ehcache.pm view on Meta::CPAN
if ( $args{server}
&& $args{server} !~ m{/$} )
{
$args{server} = $args{server} . '/';
}
return {%args};
}
sub BUILD {
my $self = shift;
my $req = HTTP::Request->new( 'PUT', $self->_make_url() );
my $res = $self->ua->request($req);
}
__PACKAGE__->meta->make_immutable;
no Moose;
use HTTP::Request;
use HTTP::Status qw(:constants);
sub set {
my $self = shift;
my ( $key, $value, $expires_in ) = @_;
my @header =
($expires_in) ? ( 'ehcacheTimeToLiveSeconds' => $expires_in ) : ();
my $req =
HTTP::Request->new( 'PUT', $self->_make_url($key), \@header, $value );
my $res = $self->ua->request($req);
unless ( $res->is_success ) {
warn $res->status_line . "\n";
}
}
sub get {
my $self = shift;
my ($key) = @_;
my $res = $self->ua->get( $self->_make_url($key) );
lib/Cache/Ehcache.pm view on Meta::CPAN
return $res->decoded_content;
}
elsif ( $res->code != HTTP_NOT_FOUND ) {
warn $res->status_line . "\n";
}
}
sub delete {
my $self = shift;
my ($key) = @_;
my $req = HTTP::Request->new( 'DELETE', $self->_make_url($key) );
my $res = $self->ua->request($req);
if ( !$res->is_success && $res->code != HTTP_NOT_FOUND ) {
warn $res->status_line . "\n";
}
}
sub clear {
my $self = shift;
my $req = HTTP::Request->new( 'DELETE', $self->_make_url('*') );
my $res = $self->ua->request($req);
unless ( $res->is_success ) {
warn $res->status_line . "\n";
}
}
sub _make_url {
my $self = shift;
my ($path) = @_;
return $self->server . $self->namespace . ( $path ? "/$path" : '' );
( run in 0.238 second using v1.01-cache-2.11-cpan-de7293f3b23 )