Amazon-S3
view release on metacpan or search on metacpan
lib/Amazon/S3.pm view on Meta::CPAN
}
my $bucket = $conf->{bucket};
croak 'must specify bucket'
if !$bucket;
my %header_ref;
if ( $conf->{acl_short} ) {
$self->_validate_acl_short( $conf->{acl_short} );
$header_ref{'x-amz-acl'} = $conf->{acl_short};
}
my $xml = <<'XML';
<CreateBucketConfiguration>
<LocationConstraint>%s</LocationConstraint>
</CreateBucketConfiguration>
XML
lib/Amazon/S3.pm view on Meta::CPAN
);
if ( $self->cache_signer ) {
$self->_signer($signer);
}
return $signer;
}
########################################################################
sub _validate_acl_short {
########################################################################
my ( $self, $policy_name ) = @_;
if ( !any { $policy_name eq $_ }
qw(private public-read public-read-write authenticated-read) ) {
croak "$policy_name is not a supported canned access policy";
}
return;
}
lib/Amazon/S3/Bucket.pm view on Meta::CPAN
sub add_key {
########################################################################
my ( $self, $key, $value, $conf ) = @_;
croak 'must specify key'
if !$key || !length $key;
my $account = $self->account;
if ( $conf->{acl_short} ) {
$account->_validate_acl_short( $conf->{acl_short} );
$conf->{'x-amz-acl'} = $conf->{acl_short};
delete $conf->{acl_short};
}
if ( ref($value) && reftype($value) eq 'SCALAR' ) {
my $md5_hex = file_md5_hex( ${$value} );
my $md5 = pack 'H*', $md5_hex;
( run in 0.474 second using v1.01-cache-2.11-cpan-a5abf4f5562 )