Provided by: libmojolicious-perl_9.35+dfsg-1_all bug

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.

SEE ALSO

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