Mojo::Asset::Memory − In−memory storage for HTTP content
use
Mojo::Asset::Memory;
my $mem = Mojo::Asset::Memory−>new;
$mem−>add_chunk('foo bar baz');
say $mem−>slurp;
Mojo::Asset::Memory is an in-memory storage backend for HTTP content.
Mojo::Asset::Memory inherits all events from Mojo::Asset and can emit the following new ones.
$mem−>on(upgrade => sub ($mem, $file) {...});
Emitted when asset gets upgraded to a Mojo::Asset::File object.
$mem−>on(upgrade => sub ($mem, $file) { $file−>tmpdir('/tmp') });
Mojo::Asset::Memory inherits all attributes from Mojo::Asset and implements the following new ones.
my $bool =
$mem−>auto_upgrade;
$mem = $mem−>auto_upgrade($bool);
Try to detect if content size exceeds "max_memory_size" limit and automatically upgrade to a Mojo::Asset::File object.
my $size =
$mem−>max_memory_size;
$mem = $mem−>max_memory_size(1024);
Maximum size in bytes of data to keep in memory before automatically upgrading to a Mojo::Asset::File object, defaults to the value of the "MOJO_MAX_MEMORY_SIZE" environment variable or 262144 (256KiB).
my $mtime =
$mem−>mtime;
$mem = $mem−>mtime(1408567500);
Modification time of asset, defaults to the value of $ˆT.
Mojo::Asset::Memory inherits all methods from Mojo::Asset and implements the following new ones.
$mem =
$mem−>add_chunk('foo bar baz');
my $file = $mem−>add_chunk('abc' x 262144);
Add chunk of data and upgrade to Mojo::Asset::File object if necessary.
my $position = $mem−>contains('bar');
Check if asset contains a specific string.
my $bytes =
$mem−>get_chunk($offset);
my $bytes = $mem−>get_chunk($offset, $max);
Get chunk of data starting from a specific position, defaults to a maximum chunk size of 131072 bytes (128KiB).
$mem = $mem−>move_to('/home/sri/foo.txt');
Move asset data into a specific file.
my $size = $mem−>size;
Size of asset data in bytes.
my $bytes = $mem−>slurp;
Read all asset data at once.
my $file = $mem−>to_file;
Convert asset to Mojo::Asset::File object.
Mojolicious, Mojolicious::Guides, <https://mojolicious.org>.