NAME
Mango::GridFS::Writer - GridFS writer
SYNOPSIS
use Mango::GridFS::Writer;
my $writer = Mango::GridFS::Writer->new(gridfs => $gridfs);
DESCRIPTION
Mango::GridFS::Writer writes files to GridFS.
ATTRIBUTES
Mango::GridFS::Writer implements the following attributes.
chunk_size
my $size = $writer->chunk_size;
$writer = $writer->chunk_size(1024);
Chunk size in bytes, defaults to 261120
(255KB).
content_type
my $type = $writer->content_type;
$writer = $writer->content_type('text/plain');
Content type of file.
filename
my $name = $writer->filename;
$writer = $writer->filename('foo.txt');
Name of file.
gridfs
my $gridfs = $writer->gridfs;
$writer = $writer->gridfs(Mango::GridFS->new);
Mango::GridFS object this writer belongs to.
metadata
my $data = $writer->metadata;
$writer = $writer->metadata({foo => 'bar'});
Additional information.
METHODS
Mango::GridFS::Writer inherits all methods from Mojo::Base and implements the following new ones.
close
my $oid = $writer->close;
Close file. You can also append a callback to perform operation non-blocking.
$writer->close(sub {
my ($writer, $err, $oid) = @_;
...
});
Mojo::IOLoop->start unless Mojo::IOLoop->is_running;
is_closed
my $success = $writer->is_closed;
Check if file has been closed.
write
$writer = $writer->write('hello world!');
Write chunk. You can also append a callback to perform operation non-blocking.
$writer->write('hello world!' => sub {
my ($writer, $err) = @_;
...
});
Mojo::IOLoop->start unless Mojo::IOLoop->is_running;