NAME

Mango::GridFS::Reader - GridFS reader

SYNOPSIS

use Mango::GridFS::Reader;

my $reader = Mango::GridFS::Reader->new(gridfs => $gridfs);

DESCRIPTION

Mango::GridFS::Reader reads files from GridFS.

ATTRIBUTES

Mango::GridFS::Reader implements the following attributes.

gridfs

my $gridfs = $reader->gridfs;
$reader    = $reader->gridfs(Mango::GridFS->new);

Mango::GridFS object this reader belongs to.

METHODS

Mango::GridFS::Reader inherits all methods from Mojo::Base and implements the following new ones.

chunk_size

my $size = $reader->chunk_size;

Chunk size in bytes.

content_type

my $type = $reader->content_type;

Content type of file.

filename

my $name = $reader->filename;

Name of file.

metadata

my $data = $reader->metadata;

Additional information.

open

$reader = $reader->open($oid);

Open file. You can also append a callback to perform operation non-blocking.

$reader->open($oid => sub {
  my ($reader, $err) = @_;
  ...
});
Mojo::IOLoop->start unless Mojo::IOLoop->is_running;

read

my $chunk = $reader->read;

Read chunk. You can also append a callback to perform operation non-blocking.

$reader->read(sub {
  my ($reader, $err, $chunk) = @_;
  ...
});
Mojo::IOLoop->start unless Mojo::IOLoop->is_running;

seek

$reader = $reader->seek(13);

Change current position.

size

my $size = $reader->size;

Size of entire file in bytes.

slurp

my $data = $reader->slurp;

Slurp all remaining data from file. You can also append a callback to perform operation non-blocking.

$reader->slurp(sub {
  my ($reader, $err, $data) = @_;
  ...
});
Mojo::IOLoop->start unless Mojo::IOLoop->is_running;

tell

my $pos = $reader->tell;

Current position.

upload_date

my $time = $reader->upload_date;

Date file was uploaded.

SEE ALSO

Mango, Mojolicious::Guides, http://mojolicio.us.