File Coverage

blib/lib/Net/Amazon/S3/Operation/Object/Add/Request.pm
Criterion Covered Total %
statement 8 8 100.0
branch n/a
condition n/a
subroutine 3 3 100.0
pod 1 1 100.0
total 12 12 100.0


line stmt bran cond sub pod time code
1             # ABSTRACT: An internal class to add an object to a bucket.
2             $Net::Amazon::S3::Operation::Object::Add::Request::VERSION = '0.991';
3             use Moose 0.85;
4 99     99   644 use MooseX::StrictConstructor 0.16;
  99         1946  
  99         586  
5 99     99   529354  
  99         1595  
  99         609  
6             extends 'Net::Amazon::S3::Request::Object';
7              
8             with 'Net::Amazon::S3::Request::Role::HTTP::Header::ACL';
9             with 'Net::Amazon::S3::Request::Role::HTTP::Header::Encryption';
10             with 'Net::Amazon::S3::Request::Role::HTTP::Method::PUT';
11              
12             has 'value' => ( is => 'ro', isa => 'Str|CodeRef|ScalarRef', required => 1 );
13             has 'headers' =>
14             ( is => 'ro', isa => 'HashRef', required => 0, default => sub { {} } );
15              
16             __PACKAGE__->meta->make_immutable;
17              
18             my ($self) = @_;
19              
20             return %{ $self->headers };
21             }
22              
23             my $self = shift;
24              
25             return $self->_build_http_request(
26 38     38 1 70 content => $self->value,
27             );
28 38         1236 }
29              
30             1;
31              
32              
33             =pod
34              
35             =encoding UTF-8
36              
37             =head1 NAME
38              
39             Net::Amazon::S3::Operation::Object::Add::Request - An internal class to add an object to a bucket.
40              
41             =head1 VERSION
42              
43             version 0.991
44              
45             =head1 SYNOPSIS
46              
47             my $http_request = Net::Amazon::S3::Operation::Object::Add::Request->new (
48             s3 => $s3,
49             bucket => $bucket,
50             key => $key,
51             value => $value,
52             acl_short => $acl_short,
53             headers => $conf,
54             );
55              
56             =head1 DESCRIPTION
57              
58             Implements operation L<< PutObject|https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html >>.
59              
60             This module puts an object.
61              
62             =for test_synopsis no strict 'vars'
63              
64             =head1 METHODS
65              
66             =head2 http_request
67              
68             This method returns a HTTP::Request object.
69              
70             =head1 AUTHOR
71              
72             Branislav Zahradník <barney@cpan.org>
73              
74             =head1 COPYRIGHT AND LICENSE
75              
76             This software is copyright (c) 2022 by Amazon Digital Services, Leon Brocard, Brad Fitzpatrick, Pedro Figueiredo, Rusty Conover, Branislav Zahradník.
77              
78             This is free software; you can redistribute it and/or modify it under
79             the same terms as the Perl 5 programming language system itself.
80              
81             =cut