Mojo::Asset::File - File storage for HTTP content

NAME  SYNOPSIS  DESCRIPTION  EVENTS  ATTRIBUTES  cleanup  handle  path  tmpdir  METHODS  add_chunk  contains  get_chunk  is_file  move_to  mtime  new  size  slurp  to_file  SEE ALSO 

NAME

Mojo::Asset::File − File storage for HTTP 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 => '/home/sri/foo.txt');
$file−>move_to('/yada.txt');
say $file−>slurp;

DESCRIPTION

Mojo::Asset::File is a file storage backend for HTTP content.

EVENTS

Mojo::Asset::File inherits all events from Mojo::Asset.

ATTRIBUTES

Mojo::Asset::File inherits all attributes from Mojo::Asset and implements the following new ones.

cleanup

my $bool = $file−>cleanup;
$file = $file−>cleanup($bool);

Delete "path" automatically once the file is not used anymore.

handle

my $handle = $file−>handle;
$file = $file−>handle(IO::File−>new);

Filehandle, created on demand for "path", which can be generated automatically and safely based on "tmpdir".

path

my $path = $file−>path;
$file = $file−>path('/home/sri/foo.txt');

File path used to create "handle".

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 $bytes = $file−>get_chunk($offset);
my $bytes = $file−>get_chunk($offset, $max);

Get chunk of data starting from a specific position, defaults to a maximum chunk size of 131072 bytes (128KiB).

is_file

my $bool = $file−>is_file;

True, this is a Mojo::Asset::File object.

move_to

$file = $file−>move_to('/home/sri/bar.txt');

Move asset data into a specific file and disable "cleanup".

mtime

my $mtime = $file−>mtime;

Modification time of asset.

new

my $file = Mojo::Asset::File−>new;
my $file = Mojo::Asset::File−>new(path => '/home/sri/test.txt');
my $file = Mojo::Asset::File−>new({path => '/home/sri/test.txt'});

Construct a new Mojo::Asset::File object.

size

my $size = $file−>size;

Size of asset data in bytes.

slurp

my $bytes = $file−>slurp;

Read all asset data at once.

to_file

$file = $file−>to_file;

Does nothing but return the invocant, since we already have a Mojo::Asset::File object.

SEE ALSO

Mojolicious, Mojolicious::Guides, <https://mojolicious.org>.


Updated 2024-01-29 - jenkler.se | uex.se