The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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.

md5

  my $checksum = $reader->md5;

MD5 checksum for 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.