DNS-WorldWideDns
view release on metacpan or search on metacpan
lib/DNS/WorldWideDns.pm view on Meta::CPAN
description => 'Authentication failed.',
},
'RequestError' => {
isa => 'Exception',
description => 'Something bad happened during the request.',
fields => [qw(url response code)],
},
);
use HTTP::Request;
use HTTP::Request::Common qw(POST);
use LWP::UserAgent;
readonly username => my %username;
readonly password => my %password;
=head1 NAME
DNS::WorldWideDns - An interface to the worldwidedns.net service.
lib/DNS/WorldWideDns.pm view on Meta::CPAN
Makes a GET request. Returns the HTTP::Response from the request. Throws MissingParam, InvalidParam, InvalidAccount and RequestError.
B<NOTE:> Normally you never need to use this method, it's used by the other methods in this class. However, it may be useful in subclassing this module.
=head3 url
The URL to request.
=head3 request
Normally an HTTP::Request object is created for you on the fly. But if you want to make your own and pass it in you are welcome to do so.
=cut
sub makeRequest {
my ($self, $url, $request) = @_;
unless (defined $url) {
MissingParam->throw(error=>'Need a url.');
}
unless ($url =~ m{^https://www.worldwidedns.net/.*$}xms) {
InvalidParam->throw(error=>'URL is improperly formatted.', got=>$url);
}
$request ||= HTTP::Request->new(GET => $url);
my $ua = LWP::UserAgent->new;
my $response = $ua->request($request);
# request is good
if ($response->is_success) {
my $content = $response->content;
chomp $content;
# is our account still active
if ($content eq "401") {
( run in 0.407 second using v1.01-cache-2.11-cpan-de7293f3b23 )