NAME
Mojo::Asset::Memory - In-memory storage for HTTP 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 content.
EVENTS
Mojo::Asset::Memory inherits all events from Mojo::Asset and can emit the following new ones.
upgrade
$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'
) });
ATTRIBUTES
Mojo::Asset::Memory inherits all attributes from Mojo::Asset and implements the following new ones.
auto_upgrade
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.
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
(256KiB).
mtime
my
$mtime
=
$mem
->mtime;
$mem
=
$mem
->mtime(1408567500);
Modification time of asset, defaults to the value of $^T
.
METHODS
Mojo::Asset::Memory inherits all methods from Mojo::Asset and implements the following new ones.
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
$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).
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
$bytes
=
$mem
->slurp;
Read all asset data at once.
to_file
my
$file
=
$mem
->to_file;
Convert asset to Mojo::Asset::File object.