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