Scroll to navigation

Mojo::Asset::Memory(3pm) User Contributed Perl Documentation Mojo::Asset::Memory(3pm)

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>.
2012-09-05 perl v5.14.2