GeoIP2::Error::WebService - An explicit error from the GeoIP2 web service
use 5.008;
use GeoIP2::WebService::Client;
use Scalar::Util qw( blessed );
use Try::Tiny;
my $client = GeoIP2::WebService::Client->new(
account_id => 42,
license_key => 'abcdef123456',
);
try {
$client->insights( ip => '24.24.24.24' );
}
catch {
die $_ unless blessed $_;
if ( $_->isa('GeoIP2::Error::HTTP') ) {
log_web_service_error(
maxmind_code => $_->code(),
status => $_->http_status(),
uri => $_->uri(),
);
}
# handle other exceptions
};
This class represents an error returned by MaxMind's GeoIP2 web service. It
extends Throwable::Error and adds attributes of its own.
The "$error->message()", and
"$error->stack_trace()" methods are
inherited from Throwable::Error. The message will be the value provided by the
MaxMind web service. See
<http://dev.maxmind.com/geoip/geoip2/web-services> for details.
It also provides three methods of its own:
Returns the code returned by the MaxMind GeoIP2 web service.
Returns the HTTP status. This should be either a 4xx or 5xx error.
Returns the URI which gave the HTTP error.
Bugs may be submitted through
<https://github.com/maxmind/GeoIP2-perl/issues>.
- Dave Rolsky <drolsky@maxmind.com>
- Greg Oschwald <goschwald@maxmind.com>
- Mark Fowler <mfowler@maxmind.com>
- Olaf Alders <oalders@maxmind.com>
This software is copyright (c) 2013 - 2019 by MaxMind, Inc.
This is free software; you can redistribute it and/or modify it
under the same terms as the Perl 5 programming language system itself.