Net-Amazon-S3

 view release on metacpan or  search on metacpan

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


enum 'HTTPMethod' => [ qw(DELETE GET HEAD PUT POST) ];

with 'Net::Amazon::S3::Role::Bucket';
has '+bucket' => (required => 0);

has 's3'     => ( is => 'ro', isa => 'Net::Amazon::S3', required => 1 );
has 'method' => ( is => 'ro', isa => 'HTTPMethod',      required => 1 );
has 'path'   => ( is => 'ro', isa => 'Str',             required => 1 );
has 'headers' =>
	( is => 'ro', isa => 'HashRef', required => 0, default => sub { {} } );
has 'content' =>
	( is => 'ro', isa => 'Str|CodeRef|ScalarRef', required => 0, default => '' );
has 'metadata' =>
	( is => 'ro', isa => 'HashRef', required => 0, default => sub { {} } );
has use_virtual_host => (
	is => 'ro',
	isa => 'Bool',
	lazy => 1,
	default => sub { $_[0]->s3->use_virtual_host },
);
has authorization_method => (
	is => 'ro',
	isa => 'Str',
	lazy => 1,

lib/Net/Amazon/S3/Operation/Object/Add/Request.pm  view on Meta::CPAN

use MooseX::StrictConstructor 0.16;

extends 'Net::Amazon::S3::Request::Object';

with 'Net::Amazon::S3::Request::Role::HTTP::Header::ACL';
with 'Net::Amazon::S3::Request::Role::HTTP::Header::Encryption';
with 'Net::Amazon::S3::Request::Role::HTTP::Method::PUT';

has 'value'     => ( is => 'ro', isa => 'Str|CodeRef|ScalarRef',     required => 1 );
has 'headers' =>
	( is => 'ro', isa => 'HashRef', required => 0, default => sub { {} } );

__PACKAGE__->meta->make_immutable;

sub _request_headers {
	my ($self) = @_;

	return %{ $self->headers };
}

sub http_request {

lib/Net/Amazon/S3/Operation/Object/Upload/Complete/Request.pm  view on Meta::CPAN

$Net::Amazon::S3::Operation::Object::Upload::Complete::Request::VERSION = '0.991';
use Moose 0.85;
use Carp qw/croak/;

extends 'Net::Amazon::S3::Request::Object';

with 'Net::Amazon::S3::Request::Role::HTTP::Method::POST';
with 'Net::Amazon::S3::Request::Role::Query::Param::Upload_id';
with 'Net::Amazon::S3::Request::Role::XML::Content';

has 'etags'         => ( is => 'ro', isa => 'ArrayRef',   required => 1 );
has 'part_numbers'  => ( is => 'ro', isa => 'ArrayRef',   required => 1 );

__PACKAGE__->meta->make_immutable;

sub _request_content {
	my ($self) = @_;

	return $self->_build_xml (CompleteMultipartUpload => [
		map +{ Part => [
			{ PartNumber => $self->part_numbers->[$_] },
			{ ETag       => $self->etags->[$_] },

lib/Net/Amazon/S3/Operation/Object/Upload/Create/Request.pm  view on Meta::CPAN

package Net::Amazon::S3::Operation::Object::Upload::Create::Request;
#ABSTRACT: An internal class to begin a multipart upload
$Net::Amazon::S3::Operation::Object::Upload::Create::Request::VERSION = '0.991';
use Moose 0.85;
use MooseX::StrictConstructor 0.16;
extends 'Net::Amazon::S3::Request::Object';

has 'headers' =>
	( is => 'ro', isa => 'HashRef', required => 0, default => sub { {} } );

with 'Net::Amazon::S3::Request::Role::Query::Action::Uploads';
with 'Net::Amazon::S3::Request::Role::HTTP::Header::ACL';
with 'Net::Amazon::S3::Request::Role::HTTP::Header::Encryption';
with 'Net::Amazon::S3::Request::Role::HTTP::Method::POST';

__PACKAGE__->meta->make_immutable;

sub _request_headers {
	my ($self) = @_;

lib/Net/Amazon/S3/Operation/Object/Upload/Part/Request.pm  view on Meta::CPAN

use MooseX::StrictConstructor 0.16;
extends 'Net::Amazon::S3::Request::Object';

with 'Net::Amazon::S3::Request::Role::Query::Param::Upload_id';
with 'Net::Amazon::S3::Request::Role::Query::Param::Part_number';
with 'Net::Amazon::S3::Request::Role::HTTP::Header::Copy_source';
with 'Net::Amazon::S3::Request::Role::HTTP::Method::PUT';

has 'value'         => ( is => 'ro', isa => 'Str|CodeRef|ScalarRef',     required => 0 );
has 'headers' =>
	( is => 'ro', isa => 'HashRef', required => 0, default => sub { {} } );

__PACKAGE__->meta->make_immutable;

sub _request_headers {
	my ($self) = @_;

	return %{ $self->headers };
}

sub http_request {

lib/Net/Amazon/S3/Operation/Object/Upload/Parts/Request.pm  view on Meta::CPAN

# ABSTRACT: List the parts in a multipart upload.
$Net::Amazon::S3::Operation::Object::Upload::Parts::Request::VERSION = '0.991';
use Moose 0.85;
use MooseX::StrictConstructor 0.16;
extends 'Net::Amazon::S3::Request::Object';

with 'Net::Amazon::S3::Request::Role::Query::Param::Upload_id';
with 'Net::Amazon::S3::Request::Role::HTTP::Method::GET';

has 'headers' =>
	( is => 'ro', isa => 'HashRef', required => 0, default => sub { {} } );

__PACKAGE__->meta->make_immutable;

sub _request_headers {
	my ($self) = @_;

	return %{ $self->headers };
}

1;

lib/Net/Amazon/S3/Operation/Objects/Delete/Request.pm  view on Meta::CPAN

package Net::Amazon::S3::Operation::Objects::Delete::Request;
# ABSTRACT: An internal class to delete multiple objects from a bucket
$Net::Amazon::S3::Operation::Objects::Delete::Request::VERSION = '0.991';
use Moose 0.85;
use Carp qw/croak/;

extends 'Net::Amazon::S3::Request::Bucket';

has 'keys'      => ( is => 'ro', isa => 'ArrayRef',   required => 1 );

with 'Net::Amazon::S3::Request::Role::HTTP::Header::Content_md5';
with 'Net::Amazon::S3::Request::Role::HTTP::Method::POST';
with 'Net::Amazon::S3::Request::Role::Query::Action::Delete';
with 'Net::Amazon::S3::Request::Role::XML::Content';

__PACKAGE__->meta->make_immutable;

sub _request_content {
	my ($self) = @_;



( run in 0.690 second using v1.01-cache-2.11-cpan-5f2e87ce722 )