NAME
Mojo::Asset::File - File storage for HTTP 1.1 content
SYNOPSIS
use Mojo::Asset::File;
# Temporary file
my $file = Mojo::Asset::File->new;
$file->add_chunk('foo bar baz');
say 'File contains "bar"' if $file->contains('bar') >= 0;
say $file->slurp;
# Existing file
my $file = Mojo::Asset::File->new(path => '/foo/bar/baz.txt');
$file->move_to('/yada.txt');
say $file->slurp;
DESCRIPTION
Mojo::Asset::File is a file storage backend for HTTP 1.1 content.
ATTRIBUTES
Mojo::Asset::File inherits all attributes from Mojo::Asset and implements the following new ones.
cleanup
my $cleanup = $file->cleanup;
$file = $file->cleanup(1);
Delete file automatically once it's not used anymore.
handle
my $handle = $file->handle;
$file = $file->handle(IO::File->new);
File handle, created on demand.
path
my $path = $file->path;
$file = $file->path('/foo/bar/baz.txt');
File path used to create handle
, can also be automatically generated if necessary.
tmpdir
my $tmpdir = $file->tmpdir;
$file = $file->tmpdir('/tmp');
Temporary directory used to generate path
, defaults to the value of the MOJO_TMPDIR
environment variable or auto detection.
METHODS
Mojo::Asset::File inherits all methods from Mojo::Asset and implements the following new ones.
add_chunk
$file = $file->add_chunk('foo bar baz');
Add chunk of data.
contains
my $position = $file->contains('bar');
Check if asset contains a specific string.
get_chunk
my $chunk = $file->get_chunk($start);
Get chunk of data starting from a specific position.
is_file
my $true = $file->is_file;
True.
move_to
$file = $file->move_to('/foo/bar/baz.txt');
Move asset data into a specific file.
size
my $size = $file->size;
Size of asset data in bytes.
slurp
my $string = $file->slurp;
Read all asset data at once.