CGI-Application-Plugin-CaptureIO
view release on metacpan or search on metacpan
CaptureIO.pm view on Meta::CPAN
CAPTURE_TTL => $args{capture_ttl} || $CAPTURE_TTL,
CAPTURE_DIR => $args{capture_dir} || $CAPTURE_DIR,
NON_CAPTURE_RM => (ref($args{non_capture_rm}) eq "ARRAY") ? { map { $_ => 1 } @{$args{non_capture_rm}} } : {},
};
if($self->{__CAP_CAPTUREIO_CONFIG}->{CAPTURE_CLEAR}){
# capture auto clear
find(sub {
my $ttl = $self->{__CAP_CAPTUREIO_CONFIG}->{CAPTURE_TTL};
my $st = stat($_);
if(-d $_ && (time - $st->atime) > $ttl){
rmtree($File::Find::dir, 0);
}elsif(-e $_ && -B $_){
if($_ =~ /^$CAPTURE_PREFIX/ && (time - $st->atime) > $ttl){
unlink $File::Find::name;
}
}
},
$self->{__CAP_CAPTUREIO_CONFIG}->{CAPTURE_DIR});
CaptureIO.pm view on Meta::CPAN
my($self, $rm) = @_;
return if $ENV{REQUEST_METHOD} eq "POST";
my $digest = $self->{__CAP_CAPTUREIO_CONFIG}->{CAPTURE_DIGEST};
my $ttl = $self->{__CAP_CAPTUREIO_CONFIG}->{CAPTURE_TTL};
my $capture_dir = _capture_dir($self);
my $capture = File::Spec->catfile($capture_dir, $CAPTURE_PREFIX . $digest);
if(-e $capture && -B $capture){
my $st = stat($capture);
if((time - $st->mtime) <= $ttl){
my $ref = Storable::retrieve($capture);
$self->run_modes( $CAPTURE_MODE => sub {
my $self = shift;
$self->header_props(%{$ref->{header}});
return ${$ref->{body}};
});
$self->prerun_mode($CAPTURE_MODE);
( run in 1.398 second using v1.01-cache-2.11-cpan-49f99fa48dc )