Mojo::Asset

Section: User Contributed Perl Documentation (3)
Updated: 2018-11-22
Page Index
 

NAME

Mojo::Asset - HTTP content storage base class  

SYNOPSIS

  package Mojo::Asset::MyAsset;
  use Mojo::Base 'Mojo::Asset';

  sub add_chunk {...}
  sub contains  {...}
  sub get_chunk {...}
  sub move_to   {...}
  sub mtime     {...}
  sub size      {...}
  sub slurp     {...}
  sub to_file   {...}

 

DESCRIPTION

Mojo::Asset is an abstract base class for HTTP content storage backends, like Mojo::Asset::File and Mojo::Asset::Memory.  

EVENTS

Mojo::Asset inherits all events from Mojo::EventEmitter.  

ATTRIBUTES

Mojo::Asset implements the following attributes.  

end_range

  my $end = $asset->end_range;
  $asset  = $asset->end_range(8);

Pretend file ends earlier.  

start_range

  my $start = $asset->start_range;
  $asset    = $asset->start_range(3);

Pretend file starts later.  

METHODS

Mojo::Asset inherits all methods from Mojo::EventEmitter and implements the following new ones.  

add_chunk

  $asset = $asset->add_chunk('foo bar baz');

Add chunk of data to asset. Meant to be overloaded in a subclass.  

contains

  my $position = $asset->contains('bar');

Check if asset contains a specific string. Meant to be overloaded in a subclass.  

get_chunk

  my $bytes = $asset->get_chunk($offset);
  my $bytes = $asset->get_chunk($offset, $max);

Get chunk of data starting from a specific position, defaults to a maximum chunk size of 131072 bytes (128KiB). Meant to be overloaded in a subclass.  

is_file

  my $bool = $asset->is_file;

False, this is not a Mojo::Asset::File object.  

is_range

  my $bool = $asset->is_range;

Check if asset has a ``start_range'' or ``end_range''.  

move_to

  $asset = $asset->move_to('/home/sri/foo.txt');

Move asset data into a specific file. Meant to be overloaded in a subclass.  

mtime

  my $mtime = $asset->mtime;

Modification time of asset. Meant to be overloaded in a subclass.  

size

  my $size = $asset->size;

Size of asset data in bytes. Meant to be overloaded in a subclass.  

slurp

  my $bytes = $asset->slurp;

Read all asset data at once. Meant to be overloaded in a subclass.  

to_file

  my $file = $asset->to_file;

Convert asset to Mojo::Asset::File object. Meant to be overloaded in a subclass.  

SEE ALSO

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


 

Index

NAME
SYNOPSIS
DESCRIPTION
EVENTS
ATTRIBUTES
end_range
start_range
METHODS
add_chunk
contains
get_chunk
is_file
is_range
move_to
mtime
size
slurp
to_file
SEE ALSO