AWS-SNS-Verify
view release on metacpan or search on metacpan
generated_by: 'Dist::Zilla version 6.012, CPAN::Meta::Converter version 2.150010'
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
version: '1.4'
name: AWS-SNS-Verify
requires:
CryptX: '0'
Data::Structure::Util: '0'
HTTP::Tiny: '0'
JSON: '0'
MIME::Base64: '0'
Moo: '0'
Ouch: '0'
Test::Exception: '0'
Test::More: '0'
URI::URL: '0'
resources:
bugtracker: http://github.com/rizen/AWS-SNS-Verify/issues
repository: git://github.com/rizen/.gitWS-SNS-Verify
version: '0.0105'
Makefile.PL view on Meta::CPAN
"CONFIGURE_REQUIRES" => {
"ExtUtils::MakeMaker" => 0
},
"DISTNAME" => "AWS-SNS-Verify",
"LICENSE" => "perl",
"NAME" => "AWS::SNS::Verify",
"PREREQ_PM" => {
"CryptX" => 0,
"Data::Structure::Util" => 0,
"HTTP::Tiny" => 0,
"JSON" => 0,
"MIME::Base64" => 0,
"Moo" => 0,
"Ouch" => 0,
"Test::Exception" => 0,
"Test::More" => 0,
"URI::URL" => 0
},
"VERSION" => "0.0105",
"test" => {
"TESTS" => "t/*.t"
}
);
my %FallbackPrereqs = (
"CryptX" => 0,
"Data::Structure::Util" => 0,
"HTTP::Tiny" => 0,
"JSON" => 0,
"MIME::Base64" => 0,
"Moo" => 0,
"Ouch" => 0,
"Test::Exception" => 0,
"Test::More" => 0,
"URI::URL" => 0
);
unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) {
[MetaResources]
bugtracker.web = http://github.com/rizen/AWS-SNS-Verify/issues
repository.url = git://github.com/rizen/.gitWS-SNS-Verify
repository.web = http://github.com/rizen/AWS-SNS-Verify
repository.type = git
[Prereqs]
Test::More = 0
Test::Exception = 0
JSON = 0
HTTP::Tiny = 0
MIME::Base64 = 0
Moo = 0
Ouch = 0
CryptX = 0
URI::URL = 0
Data::Structure::Util = 0
lib/AWS/SNS/Verify.pm view on Meta::CPAN
use strict;
use warnings;
package AWS::SNS::Verify;
$AWS::SNS::Verify::VERSION = '0.0105';
use JSON;
use HTTP::Tiny;
use MIME::Base64;
use Moo;
use Ouch;
use Crypt::PK::RSA;
use URI::URL;
use Data::Structure::Util;
has body => (
is => 'ro',
required => 1,
);
has message => (
is => 'ro',
lazy => 1,
default => sub {
my $self = shift;
return JSON::decode_json($self->body);
}
);
has certificate_string => (
is => 'ro',
lazy => 1,
default => sub {
my $self = shift;
return $self->fetch_certificate;
}
lib/AWS/SNS/Verify.pm view on Meta::CPAN
# sns.cn-north-1.amazonaws.com.cn (AWS China)
my $dot = qr/\./;
my $region = qr/[a-zA-Z0-9-]+/;
unless ($host =~ /^ sns $dot $region $dot amazonaws $dot com(\.cn)? $/x) {
ouch 'Bad SigningCertURL', "The SigningCertURL ($url_string) isn't an Amazon endpoint", $self;
}
return $url_string;
}
sub TO_JSON {
my $self = shift;
return unbless($self);
}
=head1 NAME
AWS::SNS::Verify - Verifies authenticity of SNS messages.
=head1 VERSION
lib/AWS/SNS/Verify.pm view on Meta::CPAN
=head1 METHODS
=head2 new
Constructor.
=over
=item body
Required. JSON string posted by AWS SNS. Looks like:
{
"Type" : "Notification",
"MessageId" : "a890c547-5d98-55e2-971d-8826fff56413",
"TopicArn" : "arn:aws:sns:us-east-1:041977924901:foo",
"Subject" : "test subject",
"Message" : "test message",
"Timestamp" : "2015-02-20T20:59:25.401Z",
"SignatureVersion" : "1",
"Signature" : "kzi3JBQz64uFAXG9ZuAwPI2gYW5tT7OF83oeHb8v0/XRPsy0keq2NHTCpQVRxCgPOJ/QUB2Yl/L29/W4hiHMo9+Ns0hrqyasgUfjq+XkVR1WDuYLtNaEA1vLnA0H9usSh3eVVlLhpYzoT4GUoGgstRVvFceW2QVF9EYUQyromlcbOVtVpKCEINAvGEEKJNGTXQQUkPUka3YMhHitgQg1WlFBmf+oweSYUEj8+Ro...
lib/AWS/SNS/Verify.pm view on Meta::CPAN
Requires Perl 5.12 or higher and these modules:
=over
=item *
Ouch
=item *
JSON
=item *
HTTP::Tiny
=item *
MIME::Base64
=item *
( run in 0.728 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )