Amazon-S3
view release on metacpan or search on metacpan
lib/Amazon/S3/Constants.pm view on Meta::CPAN
package Amazon::S3::Constants;
use strict;
use warnings;
use English qw(-no_match_vars);
use Carp qw(croak);
use IO::File;
use parent qw(Exporter);
use Readonly;
our $VERSION = '2.1.2'; ## no critic (RequireInterpolation)
# defaults
Readonly our $AMAZON_HEADER_PREFIX => 'x-amz-';
Readonly our $DEFAULT_BUFFER_SIZE => 4 * 1024;
Readonly our $DEFAULT_HOST => 's3.amazonaws.com';
Readonly our $DEFAULT_TIMEOUT => 30;
Readonly our $KEEP_ALIVE_CACHESIZE => 0;
Readonly our $METADATA_PREFIX => 'x-amz-meta-';
Readonly our $MAX_BUCKET_NAME_LENGTH => 64;
Readonly our $MIN_BUCKET_NAME_LENGTH => 3;
Readonly our $MIN_MULTIPART_UPLOAD_CHUNK_SIZE => 5 * 1024 * 1024;
Readonly our $DEFAULT_LOG_LEVEL => 'error';
Readonly our $MAX_DELETE_KEYS => 1000;
Readonly our $MAX_RETRIES => 5;
Readonly our $DEFAULT_REGION => 'us-east-1';
Readonly our $AWS_METADATA_BASE_URL => 'http://169.254.169.254/latest/meta-data/';
Readonly our $XMLDECL => '<?xml version="1.0" encoding="UTF-8"?>';
Readonly our $S3_XMLNS => 'http://s3.amazonaws.com/doc/2006-03-01/';
Readonly::Hash our %LOG_LEVELS => (
trace => 5,
debug => 4,
info => 3,
warn => 2,
error => 1,
fatal => 0,
);
Readonly::Hash our %LIST_OBJECT_MARKERS => (
'3' => [qw(KeyMarker NextKeyMarker key-marker)],
'2' => [qw(ContinuationToken NextContinuationToken continuation-token)],
'1' => [qw(Marker NextMarker marker)],
);
# booleans
Readonly our $TRUE => 1;
Readonly our $FALSE => 0;
# chars
Readonly our $COMMA => q{,};
Readonly our $COLON => q{:};
Readonly our $DOT => q{.};
Readonly our $DOUBLE_COLON => q{::};
Readonly our $EMPTY => q{};
Readonly our $SLASH => q{/};
Readonly our $QUESTION_MARK => q{?};
Readonly our $AMPERSAND => q{&};
Readonly our $EQUAL_SIGN => q{=};
# HTTP codes
Readonly our $HTTP_PARTIAL_CONTENT => 206;
Readonly our $HTTP_NO_CONTENT => 204;
Readonly our $HTTP_BAD_REQUEST => 400;
Readonly our $HTTP_UNAUTHORIZED => 401;
Readonly our $HTTP_PAYMENT_RQUIRED => 402;
Readonly our $HTTP_FORBIDDEN => 403;
Readonly our $HTTP_NOT_FOUND => 404;
Readonly our $HTTP_CONFLICT => 409;
Readonly our $HTTP_MOVED_PERMANENTLY => 301;
Readonly our $HTTP_FOUND => 302;
Readonly our $HTTP_SEE_OTHER => 303;
Readonly our $HTTP_NOT_MODIFIED => 304;
Readonly::Hash our %CHECKSUM_TYPES => (
crc64nvme => {
module => 'Digest::CRC64NVME',
digest => sub {
my (%parameters) = @_;
my $digest = Digest::CRC64NVME->new;
if ( defined $parameters{filename} ) {
my $fh = IO::File->new( $parameters{filename}, 'r' )
or croak "Could not open $parameters{filename}: $OS_ERROR";
$fh->binmode;
$digest->addfile($fh);
$fh->close;
}
else {
$digest->add( $parameters{data} // $EMPTY );
( run in 0.623 second using v1.01-cache-2.11-cpan-062aa07a564 )