Amazon-PAApi5-Signature
view release on metacpan or search on metacpan
lib/Amazon/PAApi5/Signature.pm view on Meta::CPAN
}
sub _prepare_canonical_url {
my ($self) = @_;
my $canonical_url = $self->http_method . "\n";
$canonical_url .= $self->resource_path . "\n\n";
my $signed_headers = '';
for my $key (grep { $_ !~ m!content-type! } sort keys %{$self->aws_headers}) {
$signed_headers .= lc($key) . ';';
$canonical_url .= lc($key) . ':' . $self->aws_headers->{$key} . "\n";
}
$canonical_url .= "\n";
$self->str_signed_header(substr($signed_headers, 0, -1)); # remove ';'
$canonical_url .= $self->str_signed_header . "\n";
$canonical_url .= sha256_hex($self->payload);
lib/Amazon/PAApi5/Signature.pm view on Meta::CPAN
. ',Signature=' . $signature
;
}
sub headers {
my ($self) = @_;
my $aws_headers = $self->aws_headers;
$aws_headers->{'content-encoding'} = 'amz-1.0';
$aws_headers->{'content-type'} = 'application/json; charset=UTF-8';
$aws_headers->{'host'} = $self->host;
$aws_headers->{'x-amz-date'} = $self->x_amz_date;
$aws_headers->{'x-amz-target'} = $self->_build_amz_target;
my $canonical_url = $self->_prepare_canonical_url;
my $string_to_sign = $self->_prepare_string_to_sign($canonical_url);
my $signature = $self->_calculate_signature($string_to_sign);
( run in 2.301 seconds using v1.01-cache-2.11-cpan-524268b4103 )