logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

GeoIP2::Error::WebService - An explicit error from the GeoIP2 web service

Authors

       •   Dave Rolsky <drolsky@maxmind.com>

       •   Greg Oschwald <goschwald@maxmind.com>

       •   Mark Fowler <mfowler@maxmind.com>

       •   Olaf Alders <oalders@maxmind.com>

Description

       This class represents an error returned by MaxMind's GeoIP2 web service. It extends Throwable::Error and
       adds attributes of its own.

Methods

       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:

   $error->code()
       Returns the code returned by the MaxMind GeoIP2 web service.

   $error->http_status()
       Returns the HTTP status. This should be either a 4xx or 5xx error.

   $error->uri()
       Returns the URI which gave the HTTP error.

Name

       GeoIP2::Error::WebService - An explicit error from the GeoIP2 web service

Support

       Bugs may be submitted through <https://github.com/maxmind/GeoIP2-perl/issues>.

Synopsis

         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
         };

Version

       version 2.006002

See Also