Net-Amazon-S3

 view release on metacpan or  search on metacpan

META.json  view on Meta::CPAN

            "Moose::Meta::Class" : "0",
            "Moose::Object" : "0",
            "Moose::Role" : "0",
            "Moose::Util" : "0",
            "Moose::Util::TypeConstraints" : "0",
            "MooseX::Role::Parameterized" : "0",
            "MooseX::StrictConstructor" : "0.16",
            "MooseX::Types::DateTime::MoreCoercions" : "0.07",
            "Path::Class" : "0",
            "Pod::Usage" : "0",
            "Ref::Util" : "0",
            "Regexp::Common" : "0",
            "Safe::Isa" : "0",
            "Scalar::Util" : "0",
            "Sub::Override" : "0",
            "Term::Encoding" : "0",
            "Term::ProgressBar::Simple" : "0",
            "Test::Deep" : "v0.111.0",
            "Test::LWP::UserAgent" : "0",
            "Test::More" : "0",
            "Time::Piece" : "0",

META.yml  view on Meta::CPAN

  Moose::Meta::Class: '0'
  Moose::Object: '0'
  Moose::Role: '0'
  Moose::Util: '0'
  Moose::Util::TypeConstraints: '0'
  MooseX::Role::Parameterized: '0'
  MooseX::StrictConstructor: '0.16'
  MooseX::Types::DateTime::MoreCoercions: '0.07'
  Path::Class: '0'
  Pod::Usage: '0'
  Ref::Util: '0'
  Regexp::Common: '0'
  Safe::Isa: '0'
  Scalar::Util: '0'
  Sub::Override: '0'
  Term::Encoding: '0'
  Term::ProgressBar::Simple: '0'
  Test::Deep: v0.111.0
  Test::LWP::UserAgent: '0'
  Test::More: '0'
  Time::Piece: '0'

Makefile.PL  view on Meta::CPAN

    "Moose::Meta::Class" => 0,
    "Moose::Object" => 0,
    "Moose::Role" => 0,
    "Moose::Util" => 0,
    "Moose::Util::TypeConstraints" => 0,
    "MooseX::Role::Parameterized" => 0,
    "MooseX::StrictConstructor" => "0.16",
    "MooseX::Types::DateTime::MoreCoercions" => "0.07",
    "Path::Class" => 0,
    "Pod::Usage" => 0,
    "Ref::Util" => 0,
    "Regexp::Common" => 0,
    "Safe::Isa" => 0,
    "Scalar::Util" => 0,
    "Sub::Override" => 0,
    "Term::Encoding" => 0,
    "Term::ProgressBar::Simple" => 0,
    "Test::Deep" => "0.111.0",
    "Test::LWP::UserAgent" => 0,
    "Test::More" => 0,
    "Time::Piece" => 0,

Makefile.PL  view on Meta::CPAN

  "Moose::Meta::Class" => 0,
  "Moose::Object" => 0,
  "Moose::Role" => 0,
  "Moose::Util" => 0,
  "Moose::Util::TypeConstraints" => 0,
  "MooseX::Role::Parameterized" => 0,
  "MooseX::StrictConstructor" => "0.16",
  "MooseX::Types::DateTime::MoreCoercions" => "0.07",
  "Path::Class" => 0,
  "Pod::Usage" => 0,
  "Ref::Util" => 0,
  "Regexp::Common" => 0,
  "Safe::Isa" => 0,
  "Scalar::Util" => 0,
  "Sub::Override" => 0,
  "Term::Encoding" => 0,
  "Term::ProgressBar::Simple" => 0,
  "Test::Deep" => "0.111.0",
  "Test::Exception" => 0,
  "Test::LWP::UserAgent" => 0,
  "Test::MockTime" => 0,

cpanfile  view on Meta::CPAN

requires "Moose::Meta::Class" => "0";
requires "Moose::Object" => "0";
requires "Moose::Role" => "0";
requires "Moose::Util" => "0";
requires "Moose::Util::TypeConstraints" => "0";
requires "MooseX::Role::Parameterized" => "0";
requires "MooseX::StrictConstructor" => "0.16";
requires "MooseX::Types::DateTime::MoreCoercions" => "0.07";
requires "Path::Class" => "0";
requires "Pod::Usage" => "0";
requires "Ref::Util" => "0";
requires "Regexp::Common" => "0";
requires "Safe::Isa" => "0";
requires "Scalar::Util" => "0";
requires "Sub::Override" => "0";
requires "Term::Encoding" => "0";
requires "Term::ProgressBar::Simple" => "0";
requires "Test::Deep" => "v0.111.0";
requires "Test::LWP::UserAgent" => "0";
requires "Test::More" => "0";
requires "Time::Piece" => "0";

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

package Net::Amazon::S3::ACL::Set;
# ABSTRACT: Representation of explicit ACL
$Net::Amazon::S3::ACL::Set::VERSION = '0.991';
use Moose 0.85;
use MooseX::StrictConstructor 0.16;
use Moose::Util::TypeConstraints;

use Ref::Util ();
use Safe::Isa ();

use Net::Amazon::S3::Constants;
use Net::Amazon::S3::ACL::Grantee::User;
use Net::Amazon::S3::ACL::Grantee::Group;
use Net::Amazon::S3::ACL::Grantee::Email;

class_type 'Net::Amazon::S3::ACL::Set';

my %permission_map = (

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

		}

		die "Unknown grantee type $type"
			unless exists $grantees_map{$type};

		die "Grantee type $type requires one argument"
			unless @grantees;

		my @grantee = (shift @grantees);
		@grantees = @{ $grantee[0] }
			if Ref::Util::is_plain_arrayref ($grantee[0]);

		push @{ $list }, map $grantees_map{$type}->new ($_), @grantee;
	}

	return $self;
}

1;

__END__

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

use Moose 0.85;
use MooseX::StrictConstructor 0.16;
use DateTime::Format::HTTP;
use Digest::MD5 qw(md5 md5_hex);
use Digest::MD5::File qw(file_md5 file_md5_hex);
use File::stat;
use MIME::Base64;
use Moose::Util::TypeConstraints;
use MooseX::Types::DateTime::MoreCoercions 0.07 qw( DateTime );
use IO::File 1.14;
use Ref::Util ();

# ABSTRACT: An easy-to-use Amazon S3 client object

use Net::Amazon::S3::Constraint::ACL::Canned;
use Net::Amazon::S3::Constraint::Etag;
use Net::Amazon::S3::Client::Object::Range;

with 'Net::Amazon::S3::Role::ACL';

enum 'StorageClass' =>

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

package Net::Amazon::S3::Signature::V4;
# ABSTRACT: V4 signatures
$Net::Amazon::S3::Signature::V4::VERSION = '0.991';
use Moose;

use Net::Amazon::S3::Signature::V4Implementation;
use Digest::SHA;
use Ref::Util;

use Net::Amazon::S3::Constants;
use Net::Amazon::S3::Signature::V2;

use namespace::clean;

extends 'Net::Amazon::S3::Signature';

sub enforce_use_virtual_host {
    1;

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

    return if $sign->{endpoint} eq 'us-east-1';
    return unless $host =~ s/(?<=\bs3)(?=\.amazonaws\.com$)/"-" . $sign->{endpoint}/e;

    $request->uri->host( $host );
}

sub sign_request {
    my ($self, $request, $region) = @_;

    my $sha = Digest::SHA->new( '256' );
    if (Ref::Util::is_coderef( my $coderef = $request->content )) {
        while (length (my $snippet = $coderef->())) {
            $sha->add ($snippet);
        }

        $request->header( $Net::Amazon::S3::Signature::V4Implementation::X_AMZ_CONTENT_SHA256 => $sha->hexdigest );
    }

	$self->_append_authorization_headers ($request);

    my $sign = $self->_sign( $region );

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

package Net::Amazon::S3::Utils;
# ABSTRACT: misc utils
$Net::Amazon::S3::Utils::VERSION = '0.991';
sub parse_arguments {
	my ($self, $arguments, $positional, $aliases) = @_;
	my %args;
	$aliases = {} unless $aliases;

	push @$arguments, %{ pop @$arguments }
		if @$arguments && Ref::Util::is_plain_hashref ($arguments->[-1]);

	my %positional = map +($_ => 1), grep ! exists $args{$_}, @$positional;
	my $positional_count = scalar keys %positional;
	while (@$arguments > 1 && @$arguments > $positional_count) {
		my ($name, $value) = splice @$arguments, -2, 2;

		next if exists $args{$name};

		$args{$name} = $value;

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

package Shared::Examples::Net::Amazon::S3;
# ABSTRACT: used for testing and as example
$Shared::Examples::Net::Amazon::S3::VERSION = '0.991';
use strict;
use warnings;

use parent qw[ Exporter::Tiny ];

use Hash::Util;
use Ref::Util (
	qw[ is_regexpref ],
);

use Test::Deep;
use Test::More;
use Test::LWP::UserAgent;

use Net::Amazon::S3;

use Shared::Examples::Net::Amazon::S3::API;

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

			));
		} else {
			fail "Net::Amazon::S3::Client feature expectation $expectation not found";
		}
	};
}

sub _operation_parameters {
	my ($params, @names) = @_;
	my $map = {};
	$map = shift @names if Ref::Util::is_plain_hashref ($names[0]);

	return
		map +( ($map->{$_} || $_) => $params->{"with_$_"} ),
		grep exists $params->{"with_$_"},
		@names
		;
}

sub _with_keys {
	map "with_$_", @_;

t/test-helper-common.pl  view on Meta::CPAN


use strict;
use warnings;
use utf8;

use Test::Deep      v0.111 qw[ !cmp_deeply !bool !code ];
use Test::More      import => [qw[ !ok !is !is_deeply ]];
use Test::Warnings  qw[ :no_end_test had_no_warnings ];

use Safe::Isa qw[];
use Ref::Util qw[];

sub __expand_lazy_param {
	my ($param) = @_;

	return $param->()
		if Ref::Util::is_plain_coderef ($param);

	return $param;
}

sub ok {
	my ($title, %params) = @_;

	local $Test::Builder::Level = $Test::Builder::Level + 1;

	return if exists $params{if} && ! __expand_lazy_param ($params{if});

t/test-helper-common.pl  view on Meta::CPAN


	return Test::Deep::bool ($param);
}

sub code (&) {
	goto \& Test::Deep::code;
}

sub expect_coderef {
	return code {
		return Ref::Util::is_plain_coderef ($_[0])
			? (1)
			: (0, "Expect CODEREF")
	};
}

1;



( run in 2.139 seconds using v1.01-cache-2.11-cpan-a5abf4f5562 )