AnyEvent-Net-Amazon-S3

 view release on metacpan or  search on metacpan

lib/AnyEvent/Net/Amazon/S3/Bucket.pm  view on Meta::CPAN

# ABSTRACT: convenience object for working with Amazon S3 buckets
our $VERSION = 'v0.04.0.80'; # VERSION

use strict;
use warnings;

# TODO: _content_sub might become more async manner?

use Module::AnyEvent::Helper::Filter -as => __PACKAGE__, -target => 'Net::Amazon::S3::Bucket',
        -transformer => 'Net::Amazon::S3',
        -translate_func => [qw(add_key add_key_filename copy_key edit_metadata head_key get_key get_key_filename delete_key delete_bucket list list_all get_acl set_acl get_location_constraint)],
        -replace_func => [qw(_send_request_expect_nothing_probed list_bucket list_bucket_all _do_http _send_request_expect_nothing _send_request)]
;

1;

__END__

=pod

=encoding UTF-8

lib/AnyEvent/Net/Amazon/S3/Bucket.pm  view on Meta::CPAN

You can get actual return value by calling C<shift-E<gt>recv()>.

=over 4

=item add_key_async

=item add_key_filename_async

=item copy_key_async

=item edit_metadata_async

=item head_key_async

=item get_key_async

=item get_key_filename_async

=item delete_key_async

=item delete_bucket_async

t/01api.t  view on Meta::CPAN

        # Overwrite, making publically readable
        $bucket_obj->copy_key( $keyname2, "/$bucketname/$keyname",
            { acl_short => 'public-read' } );

        sleep 1;
        is_request_response_code(
            "http://$bucketname.s3.amazonaws.com/$keyname2",
            200, "can access the publicly readable key" );

        # Now copy it over itself, making it private
        $bucket_obj->edit_metadata( $keyname2, { short_acl => 'private' } );

        is_request_response_code(
            "http://$bucketname.s3.amazonaws.com/$keyname2",
            403, "cannot access the private key" );

        # Get rid of it, bringing us back to only one key
        $bucket_obj->delete_key($keyname2);

        # Expect a nonexistent key copy to fail
        ok( !$bucket_obj->copy_key( "newkey", "/$bucketname/$keyname2" ),



( run in 0.465 second using v1.01-cache-2.11-cpan-de7293f3b23 )