NAME¶
Mojo::Asset::Memory - In-memory storage for HTTP 1.1 content
SYNOPSIS¶
use Mojo::Asset::Memory;
my $mem = Mojo::Asset::Memory->new;
$mem->add_chunk('foo bar baz');
say $mem->slurp;
DESCRIPTION¶
Mojo::Asset::Memory is an in-memory storage backend for HTTP 1.1 content.
EVENTS¶
Mojo::Asset::Memory can emit the following events.
"upgrade"¶
$mem->on(upgrade => sub {
my ($mem, $file) = @_;
...
});
Emitted when asset gets upgraded to a Mojo::Asset::File object.
$mem->on(upgrade => sub {
my ($mem, $file) = @_;
$file->tmpdir('/tmp');
});
ATTRIBUTES¶
Mojo::Asset::Memory inherits all attributes from Mojo::Asset and implements the
following new ones.
"auto_upgrade"¶
my $upgrade = $mem->auto_upgrade;
$mem = $mem->auto_upgrade(1);
Try to detect if content size exceeds "max_memory_size" limit and
automatically upgrade to a Mojo::Asset::File object.
"max_memory_size"¶
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.
METHODS¶
Mojo::Asset::Memory inherits all methods from Mojo::Asset and implements the
following new ones.
"new"¶
my $mem = Mojo::Asset::Memory->new;
Construct a new Mojo::Asset::Memory object.
"add_chunk"¶
$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.
"contains"¶
my $position = $mem->contains('bar');
Check if asset contains a specific string.
"get_chunk"¶
my $chunk = $mem->get_chunk($offset);
Get chunk of data starting from a specific position.
"move_to"¶
$mem = $mem->move_to('/home/sri/foo.txt');
Move asset data into a specific file.
"size"¶
my $size = $mem->size;
Size of asset data in bytes.
"slurp"¶
my $string = mem->slurp;
Read all asset data at once.
SEE ALSO¶
Mojolicious, Mojolicious::Guides, <
http://mojolicio.us>.