1Mojo::Asset::Memory(3)User Contributed Perl DocumentationMojo::Asset::Memory(3)
2
3
4

NAME

6       Mojo::Asset::Memory - In-memory storage for HTTP content
7

SYNOPSIS

9         use Mojo::Asset::Memory;
10
11         my $mem = Mojo::Asset::Memory->new;
12         $mem->add_chunk('foo bar baz');
13         say $mem->slurp;
14

DESCRIPTION

16       Mojo::Asset::Memory is an in-memory storage backend for HTTP content.
17

EVENTS

19       Mojo::Asset::Memory inherits all events from Mojo::Asset and can emit
20       the following new ones.
21
22   upgrade
23         $mem->on(upgrade => sub {
24           my ($mem, $file) = @_;
25           ...
26         });
27
28       Emitted when asset gets upgraded to a Mojo::Asset::File object.
29
30         $mem->on(upgrade => sub {
31           my ($mem, $file) = @_;
32           $file->tmpdir('/tmp');
33         });
34

ATTRIBUTES

36       Mojo::Asset::Memory inherits all attributes from Mojo::Asset and
37       implements the following new ones.
38
39   auto_upgrade
40         my $bool = $mem->auto_upgrade;
41         $mem     = $mem->auto_upgrade($bool);
42
43       Try to detect if content size exceeds "max_memory_size" limit and
44       automatically upgrade to a Mojo::Asset::File object.
45
46   max_memory_size
47         my $size = $mem->max_memory_size;
48         $mem     = $mem->max_memory_size(1024);
49
50       Maximum size in bytes of data to keep in memory before automatically
51       upgrading to a Mojo::Asset::File object, defaults to the value of the
52       "MOJO_MAX_MEMORY_SIZE" environment variable or 262144 (256KiB).
53
54   mtime
55         my $mtime = $mem->mtime;
56         $mem      = $mem->mtime(1408567500);
57
58       Modification time of asset, defaults to the value of $^T.
59

METHODS

61       Mojo::Asset::Memory inherits all methods from Mojo::Asset and
62       implements the following new ones.
63
64   add_chunk
65         $mem     = $mem->add_chunk('foo bar baz');
66         my $file = $mem->add_chunk('abc' x 262144);
67
68       Add chunk of data and upgrade to Mojo::Asset::File object if necessary.
69
70   contains
71         my $position = $mem->contains('bar');
72
73       Check if asset contains a specific string.
74
75   get_chunk
76         my $bytes = $mem->get_chunk($offset);
77         my $bytes = $mem->get_chunk($offset, $max);
78
79       Get chunk of data starting from a specific position, defaults to a
80       maximum chunk size of 131072 bytes (128KiB).
81
82   move_to
83         $mem = $mem->move_to('/home/sri/foo.txt');
84
85       Move asset data into a specific file.
86
87   size
88         my $size = $mem->size;
89
90       Size of asset data in bytes.
91
92   slurp
93         my $bytes = mem->slurp;
94
95       Read all asset data at once.
96
97   to_file
98         my $file = $mem->to_file;
99
100       Convert asset to Mojo::Asset::File object.
101

SEE ALSO

103       Mojolicious, Mojolicious::Guides, <https://mojolicious.org>.
104
105
106
107perl v5.32.0                      2020-07-28            Mojo::Asset::Memory(3)
Impressum