interface to the SendGrid email service
use Moose;
use MooseX::Method::Signatures;
use Carp;
use JSON::XS;
use WWW::Curl::Simple;
use HTTP::Request;
has 'user_agent' => (
is => 'ro',
isa => 'WWW
ofile.get.json') {
my %profile = (
username => 'jlloyd',
email => 'jlloyd@cpan.org',
website_access => 'true',
active => 'true',
);
$content = encode_json( [ \%prof
ile ]);
}
else {
$content = encode_json( { message => 'success' });
}
my $res = HTTP::Response->new;
$res->code(100);
$res->content( $content );
return $res;
}
method _dispatch_r
d::Signatures;
use namespace::autoclean;
extends 'WebService::SendGrid';
use URI;
use Carp;
use JSON::XS;
use Mail::RFC822::Address qw(valid);
has 'first_name' => ( is => 'rw', isa => 'Str', requir
e_request('/api/profile.get.json', {});
my $res = $self->_dispatch_request($req);
return $self->_process_error($res) if $res->code != 100;
my $content = ${ decode_json $res->content }[0];
# it
e_request('/api/profile.set.json', \%data);
my $res = $self->_dispatch_request($req);
return $self->_process_error($res) if $res->code != 200;
my $content = decode_json $res->content;
}
method
d::Signatures;
use namespace::autoclean;
extends 'WebService::SendGrid';
use URI;
use Carp;
use JSON::XS;
use DateTime::Format::HTTP;
use Mail::RFC822::Address qw(valid);
subtype 'Email', as 'Str',
headers' => ( is => 'rw', isa => 'HashRef', required => 0 );
# A collection of key/value pairs in JSON format
has 'date' => ( is => 'rw', isa => 'Str', required => 1, default => sub {
DateTime::Form
ate_request('/api/mail.send.json', \%data);
my $res = $self->_dispatch_request($req);
return $self->_process_error($res) if $res->code != 100;
my $content = decode_json $res->content;
}
1;
__E