Amazon-S3
view release on metacpan or search on metacpan
* src/main/perl/lib/Amazon/S3/Util.pm.in: new
* src/main/perl/lib/Makefile.am: add above to build
* src/main/perl/lib/Amazon/S3.pm.in
- refactoring
- updated pod
(add_bucket): allow additional headers
(delete_bucket): likewise
(list_bucket)
- likewise
- allow query parameters
(_validate_acl_short): refactored
(_make_request): refactored
(adjust_region): refactored
(_do_http): refactored
(_send_request_expect_nothing): refactored
(_send_request_expect_nothing_probed): refactored
(_remember_errors): refactored
(_add_auth_header): refactored
(_merge_meta): refactored
(_encode): refactored
* src/main/perl/lib/Amazon/S3/Bucket.pm.in
lib/Amazon/S3.pm view on Meta::CPAN
my ( $self, $conf ) = @_;
my $bucket = $conf->{bucket};
croak 'must specify bucket'
if !$bucket;
my $headers = $conf->{headers} // {};
if ( $conf->{acl_short} ) {
$self->_validate_acl_short( $conf->{acl_short} );
$headers->{'x-amz-acl'} //= $conf->{acl_short};
$headers->{'x-amz-object-ownership'} //= 'ObjectWriter';
}
my $region = $conf->{location_constraint} // $conf->{region};
$region //= $self->region;
if ( $region && $region eq $DEFAULT_REGION ) {
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 ) = @_;
croak sprintf '%s is not a supported canned access policy', $policy_name
if none { $policy_name eq $_ }
qw(private public-read public-read-write authenticated-read);
return;
}
lib/Amazon/S3/Bucket.pm view on Meta::CPAN
if !$key || !length $key;
$conf //= {};
my $account = $self->account;
my $headers = delete $conf->{headers};
$headers //= {};
if ( $conf->{acl_short} ) {
$account->_validate_acl_short( $conf->{acl_short} );
$conf->{'x-amz-acl'} = $conf->{acl_short};
delete $conf->{acl_short};
}
$headers = { %{$conf}, %{$headers} };
set_md5_header( data => $value, headers => $headers );
( run in 0.659 second using v1.01-cache-2.11-cpan-2e29ac893d0 )