File Coverage

lib/Amazon/S3/Constants.pm
Criterion Covered Total %
statement 12 12 100.0
branch n/a
condition n/a
subroutine 4 4 100.0
pod n/a
total 16 16 100.0


line stmt bran cond sub pod time code
1             package Amazon::S3::Constants;
2              
3 2     2   10 use strict;
  2         2  
  2         50  
4 2     2   6 use warnings;
  2         1  
  2         82  
5              
6 2     2   11 use parent qw(Exporter);
  2         16  
  2         17  
7              
8 2     2   961 use Readonly;
  2         6828  
  2         1244  
9              
10             our $VERSION = '2.0.2'; ## no critic (RequireInterpolation)
11              
12             # defaults
13             Readonly our $AMAZON_HEADER_PREFIX => 'x-amz-';
14             Readonly our $DEFAULT_BUFFER_SIZE => 4 * 1024;
15             Readonly our $DEFAULT_HOST => 's3.amazonaws.com';
16             Readonly our $DEFAULT_TIMEOUT => 30;
17             Readonly our $KEEP_ALIVE_CACHESIZE => 0;
18             Readonly our $METADATA_PREFIX => 'x-amz-meta-';
19             Readonly our $MAX_BUCKET_NAME_LENGTH => 64;
20             Readonly our $MIN_BUCKET_NAME_LENGTH => 3;
21             Readonly our $MIN_MULTIPART_UPLOAD_CHUNK_SIZE => 5 * 1024 * 1024;
22             Readonly our $DEFAULT_LOG_LEVEL => 'error';
23             Readonly our $MAX_DELETE_KEYS => 1000;
24             Readonly our $MAX_RETRIES => 5;
25             Readonly our $DEFAULT_REGION => 'us-east-1';
26             Readonly our $AWS_METADATA_BASE_URL =>
27             'http://169.254.169.254/latest/meta-data/';
28              
29             Readonly our $XMLDECL => '';
30             Readonly our $S3_XMLNS => 'http://s3.amazonaws.com/doc/2006-03-01/';
31              
32             Readonly::Hash our %LOG_LEVELS => (
33             trace => 5,
34             debug => 4,
35             info => 3,
36             warn => 2,
37             error => 1,
38             fatal => 0,
39             );
40              
41             Readonly::Hash our %LIST_OBJECT_MARKERS => (
42             '3' => [qw(KeyMarker NextKeyMarker key-marker)],
43             '2' => [qw(ContinuationToken NextContinuationToken continuation-token)],
44             '1' => [qw(Marker NextMarker marker)],
45             );
46              
47             # booleans
48             Readonly our $TRUE => 1;
49             Readonly our $FALSE => 0;
50              
51             # chars
52             Readonly our $COMMA => q{,};
53             Readonly our $COLON => q{:};
54             Readonly our $DOT => q{.};
55             Readonly our $DOUBLE_COLON => q{::};
56             Readonly our $EMPTY => q{};
57             Readonly our $SLASH => q{/};
58             Readonly our $QUESTION_MARK => q{?};
59             Readonly our $AMPERSAND => q{&};
60             Readonly our $EQUAL_SIGN => q{=};
61              
62             # HTTP codes
63              
64             Readonly our $HTTP_PARTIAL_CONTENT => 206;
65             Readonly our $HTTP_NO_CONTENT => 204;
66             Readonly our $HTTP_BAD_REQUEST => 400;
67             Readonly our $HTTP_UNAUTHORIZED => 401;
68             Readonly our $HTTP_PAYMENT_RQUIRED => 402;
69             Readonly our $HTTP_FORBIDDEN => 403;
70             Readonly our $HTTP_NOT_FOUND => 404;
71             Readonly our $HTTP_CONFLICT => 409;
72             Readonly our $HTTP_MOVED_PERMANENTLY => 301;
73             Readonly our $HTTP_FOUND => 302;
74             Readonly our $HTTP_SEE_OTHER => 303;
75             Readonly our $HTTP_NOT_MODIFIED => 304;
76              
77             our %EXPORT_TAGS = (
78             chars => [
79             qw(
80             $AMPERSAND
81             $COLON
82             $DOUBLE_COLON
83             $DOT
84             $COMMA
85             $EMPTY
86             $EQUAL_SIGN
87             $QUESTION_MARK
88             $SLASH
89             )
90             ],
91             booleans => [
92             qw(
93             $TRUE
94             $FALSE
95             )
96             ],
97             defaults => [
98             qw(
99             $AMAZON_HEADER_PREFIX
100             $METADATA_PREFIX
101             $KEEP_ALIVE_CACHESIZE
102             $DEFAULT_TIMEOUT
103             $DEFAULT_BUFFER_SIZE
104             $DEFAULT_LOG_LEVEL
105             $DEFAULT_HOST
106             $DEFAULT_REGION
107             $MAX_BUCKET_NAME_LENGTH
108             $MAX_DELETE_KEYS
109             $MIN_BUCKET_NAME_LENGTH
110             $MIN_MULTIPART_UPLOAD_CHUNK_SIZE
111             $MAX_RETRIES
112             )
113             ],
114             misc => [
115             qw(
116             $AWS_METADATA_BASE_URL
117             $S3_XMLNS
118             $XMLDECL
119             %LIST_OBJECT_MARKERS
120             %LOG_LEVELS
121             $NOT_FOUND
122             )
123             ],
124             http => [
125             qw(
126             $HTTP_BAD_REQUEST
127             $HTTP_CONFLICT
128             $HTTP_UNAUTHORIZED
129             $HTTP_PAYMENT_RQUIRED
130             $HTTP_FORBIDDEN
131             $HTTP_NOT_FOUND
132             $HTTP_NO_CONTENT
133             $HTTP_MOVED_PERMANENTLY
134             $HTTP_PARTIAL_CONTENT
135             $HTTP_FOUND
136             $HTTP_SEE_OTHER
137             $HTTP_NOT_MODIFIED
138             )
139              
140             ],
141             );
142              
143             our @EXPORT_OK = map { @{ $EXPORT_TAGS{$_} } } keys %EXPORT_TAGS;
144              
145             $EXPORT_TAGS{all} = [@EXPORT_OK];
146              
147             1;
148              
149             ## no critic (RequirePodSections)
150              
151             __END__