Amazon-S3-SignedURLGenerator
view release on metacpan or search on metacpan
lib/Amazon/S3/SignedURLGenerator.pm view on Meta::CPAN
# generate a canonical string for the given parameters. expires is optional and is
# only used by query string authentication.
sub __canonical_string {
my ($method, $path, $headers, $expires) = @_;
my %interesting_headers = ();
while (my ($key, $value) = each %$headers) {
my $lk = lc $key;
if (
$lk eq 'content-md5' or
$lk eq 'content-type' or
$lk eq 'date' or
$lk =~ /^$AMAZON_HEADER_PREFIX/
) {
$interesting_headers{$lk} = __trim($value);
}
}
# these keys get empty strings if they don't exist
$interesting_headers{'content-type'} ||= '';
$interesting_headers{'content-md5'} ||= '';
# just in case someone used this. it's not necessary in this lib.
$interesting_headers{'date'} = '' if $interesting_headers{'x-amz-date'};
# if you're using expires for query string auth, then it trumps date
# (and x-amz-date)
$interesting_headers{'date'} = $expires if $expires;
my $buf = "$method\n";
( run in 1.955 second using v1.01-cache-2.11-cpan-524268b4103 )