Business-MollieAPI
view release on metacpan or search on metacpan
lib/Business/MollieAPI.pm view on Meta::CPAN
use Moo;
use URI;
use LWP::UserAgent;
use JSON::XS;
use Business::MollieAPI::Payments;
use Business::MollieAPI::Methods;
use Business::MollieAPI::Issuers;
has endpoint => (
is => 'rw',
builder => 1,
);
sub _build_endpoint {
my $self = shift;
return URI->new('https://api.mollie.nl');
}
has version => (
is => 'rw',
default => 'v1',
);
has client_version => (
lib/Business/MollieAPI/Resource.pm view on Meta::CPAN
);
requires 'name';
sub _create_request {
my $self = shift;
my %args = @_;
my $url = URI->new_abs(
'/' . $self->client->version . '/' . $self->name,
$self->client->endpoint);
my $body = encode_json(\%args);
my $req = POST $url->as_string,
Content_Type => 'application/json',
Content => $body;
return $req;
}
lib/Business/MollieAPI/Resource.pm view on Meta::CPAN
my $res = $self->client->perform($req);
return $res;
}
sub _get_request {
my $self = shift;
my ($id) = @_;
my $url = URI->new_abs(
'/' . $self->client->version . '/' . $self->name . '/' . $id,
$self->client->endpoint);
return GET $url->as_string;
}
sub get {
my $self = shift;
my $req = $self->_get_request(@_);
my $res = $self->client->perform($req);
return $res;
}
sub _all_request {
my $self = shift;
my $url = URI->new_abs(
'/' . $self->client->version . '/' . $self->name,
$self->client->endpoint);
return GET $url->as_string;
}
sub all {
my $self = shift;
my $req = $self->_all_request(@_);
my $res = $self->client->perform($req);
return $res;
}
( run in 0.230 second using v1.01-cache-2.11-cpan-b61123c0432 )