WebService::AbuseIPDB::Response - Generic class for API responses


Any of the WebService::AbuseIPDB methods which send a request to the server will return an object of this class (or its children).

    use WebService::AbuseIPDB;

    my $ipdb = WebService::AbuseIPDB->new (key => 'abc123...');
    my $res = $ipdb->check (ip => '');
    unless ($res->successful) {
        for my $err (@{$res->errors}) {
            warn "Error $err->{status}: $err->{detail}\n";
        die "Cannot continue.\n";



        my $res = WebService::AbuseIPDB::Response->new ($href);

The constructor takes a hashref constructed from the JSON returned by the API. If the argument is missing or not a reference it assumes a catastrophic problem and sets the generic error code and message (500, "Client could not connect");


        my $ok = $res->successful;

Returns true if there were no errors, otherwise false.


        my $err = $res->errors;

Returns a ref to an AoH of errors exactly as returned by the API.


This is currently alpha software. Be aware that both the internals and the interface are liable to change.


Pete Houston, <cpan at>


WebService::AbuseIPDB for general use of the client, Version 2 of the AbuseIPDB API for API details/restrictions and WebService::AbuseIPDB::ReportResponse and WebService::AbuseIPDB::CheckResponse for specific subclasses.


Copyright © 2020 Pete Houston

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 dated June, 1991 or at your option any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

A copy of the GNU General Public License is available in the source tree; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA