AnyEvent-Net-Amazon-S3

 view release on metacpan or  search on metacpan

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

AnyEvent::Net::Amazon::S3::HTTPRequest - Create a signed HTTP::Request

=head1 VERSION

version v0.04.0.80

=head1 SYNOPSIS

  my $http_request = AnyEvent::Net::Amazon::S3::HTTPRequest->new(
    s3      => $self->s3,
    method  => 'PUT',
    path    => $self->bucket . '/',
    headers => $headers,
    content => $content,
  )->http_request;

=head1 DESCRIPTION

This module creates an HTTP::Request object that is signed
appropriately for Amazon S3,
and the same as L<Net::Amazon::S3::HTTPRequest>,

t/02client.t  view on Meta::CPAN


  #put part

  my $put_part_response;
  ok(
    $put_part_response = $object->put_part(
      part_number => 1,
      upload_id   => $upload_id,
      value       => 'x' x ( 5 * 1024 * 1024 )
    ),
    'Got a successful response for PUT part'
  );
  ok( $put_part_response->header('ETag'), 'etag ok' );

  ok(
    my $abort_response =
      $object->abort_multipart_upload( upload_id => $upload_id ),
    'Got a successful response for DELETE multipart upload'
  );

  ok( !$object->exists, "object has now been deleted" );

t/02client.t  view on Meta::CPAN

    key       => 'new multipart file',
    acl_short => 'public-read'
);

my $upload_id;
ok($upload_id = $object->initiate_multipart_upload, "can initiate a new multipart upload");

#put part

my $put_part_response;
ok( $put_part_response = $object->put_part(part_number => 1, upload_id => $upload_id, value => 'x' x (5 * 1024 * 1024)), 'Got a successful response for PUT part' );
my @etags;
push @etags, $put_part_response->header('ETag');
ok( $put_part_response = $object->put_part(part_number => 2, upload_id => $upload_id, value => 'z' x (1024 * 1024)), 'Got a successful response for 2nd PUT part' );
push @etags, $put_part_response->header('ETag');

# TODO list part? - We've got this, but how to expose it nicely?

#complete multipart upload
my $complete_upload_response;
ok(
    $complete_upload_response = $object->complete_multipart_upload( upload_id => $upload_id, part_numbers => [1,2], etags => \@etags),
    "successful response for complete multipart upload"
);



( run in 0.307 second using v1.01-cache-2.11-cpan-4e96b696675 )