Amazon-S3

 view release on metacpan or  search on metacpan

ChangeLog  view on Meta::CPAN

	* 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 )