Backblaze-B2
view release on metacpan or search on metacpan
examples/upload-file-async.pl view on Meta::CPAN
=head1 SYNOPSIS
=cut
my $b2 = Backblaze::B2->new(
version => 'v1',
api => 'Backblaze::B2::v1::AnyEvent',
log_message => sub { warn sprintf "[%d] %s\n", @_; },
);
sub await($) {
my $promise = $_[0];
my @res;
if( $promise->is_unfulfilled ) {
require AnyEvent;
my $await = AnyEvent->condvar;
$promise->then(sub{ $await->send(@_)});
@res = $await->recv;
} else {
@res = @{ $promise->result }
}
lib/Backblaze/B2.pm view on Meta::CPAN
my( $self, %options ) = @_;
$self->{bucket_class}->new(
%options,
api => $self->api,
parent => $self,
file_class => $self->{file_class}
)
}
sub await($) {
my $promise = $_[0];
my @res;
if( $promise->is_unfulfilled ) {
require AnyEvent;
my $await = AnyEvent->condvar;
$promise->then(sub{
$await->send(@_);
}, sub {
warn "@_";
});
@res = $await->recv;
} else {
warn "Have results already";
@res = @{ $promise->result }
}
@res
};
sub payload($) {
my( $ok, $msg, @results ) = await( $_[0] );
if(! $ok) { croak $msg };
return wantarray ? @results : $results[0];
}
=head2 C<< ->buckets >>
my @buckets = $b2->buckets();
Returns a list of L<Backblaze::B2::Bucket> objects associated with
lib/Backblaze/B2/v1/Synchronous.pm view on Meta::CPAN
}
sub read_credentials {
my( $self, @args ) = @_;
$self->api->read_credentials(@args)
}
sub downloadUrl { $_[0]->api->downloadUrl };
sub apiUrl { $_[0]->api->apiUrl };
sub await($) {
my $promise = $_[0];
my @res;
if( $promise->is_unfulfilled ) {
require AnyEvent;
my $await = AnyEvent->condvar;
$promise->then(sub{ $await->send(@_)});
@res = $await->recv;
} else {
@res = @{ $promise->result }
}
( run in 0.879 second using v1.01-cache-2.11-cpan-65fba6d93b7 )