Backblaze-B2
view release on metacpan or search on metacpan
lib/Backblaze/B2/v1/AnyEvent.pm view on Meta::CPAN
$target_filename = encode('UTF-8', $target_filename );
$target_filename =~ s!([^\x21-\x7d])!sprintf "%%%02x", ord $1!ge;
my $mime_type = delete $options{ mime_type } || 'b2/x-auto';
if( not defined $options{ content }) {
open my $fh, '<', $filename
or croak "Couldn't open '$filename': $!";
binmode $fh, ':raw';
$options{ content } = do { local $/; <$fh> }; # sluuuuurp
$options{ mtime } = ((stat($fh))[9]) * 1000;
};
my $payload = delete $options{ content };
if( not $options{ sha1 }) {
my $sha1 = Digest::SHA1->new;
$sha1->add( $payload );
$options{ sha1 } = $sha1->hexdigest;
};
my $digest = delete $options{ sha1 };
my $size = length($payload);
( run in 1.032 second using v1.01-cache-2.11-cpan-49f99fa48dc )