The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Net::EPP::ResponseCodes - a module to export some constants that correspond to EPP response codes

SYNOPSIS

    use Net::EPP::ResponseCodes;
    use Net::EPP::Simple;
    use strict;

    my $epp = Net::EPP::Simple->new(
        host    => 'epp.nic.tld',
        user    => 'my-id',
        pass    => 'my-password',
    );

    my $result = $epp->domain_transfer_request('example.tld', 'foobar', 1);

    if ($result) {
        print "Transfer initiated OK\n";

    } else {
        if ($Net::EPP::Simple::Code == OBJECT_PENDING_TRANSFER) {
            print "Error: domain is already pending transfer\n";

        } elsif ($Net::EPP::Simple::Code == INVALID_AUTH_INFO) {
            print "Error: invalid authcode provided\n";

        } elsif ($Net::EPP::Simple::Code == OBJECT_DOES_NOT_EXIST) {
            print "Error: domain not found\n";

        } elsif ($Net::EPP::Simple::Code == STATUS_PROHIBITS_OP) {
            print "Error: domain cannot be transferred\n";

        } else {
            print "Error code $Net::EPP::Simple::Code\n";

        }
    }

DESCRIPTION

Every response sent to the client by an EPP server contains a <result> element that has a code attribute. This is a four-digit numeric code that describes the result of the request. This module exports a set of constants that provide handy mnemonics for each of the defined codes.

EXPORTS

Net::EPP::ResponseCodes exports the following constants. The number in brackets is the integer value associated with the constant.

Successful command completion responses (1nnn)

OK (1000)
OK_PENDING (1001)
OK_NO_MESSAGES (1300)
OK_MESSAGES (1301)
OK_BYE (1500)

Command error responses (2nnn)

Protocol Syntax

UNKNOWN_COMMAND (2000)
SYNTAX_ERROR (2001)
USE_ERROR (2002)
MISSING_PARAM (2003)
PARAM_RANGE_ERROR (2004)
PARAM_SYNTAX_ERROR (2005)

Implementation-specific Rules

UNIMPLEMENTED_VERSION (2100)
UNIMPLEMENTED_COMMAND (2101)
UNIMPLEMENTED_OPTION (2102)
UNIMPLEMENTED_EXTENSION (2103)
BILLING_FAILURE (2104)
NOT_RENEWABLE (2105)
NOT_TRANSFERRABLE (2106)

Security (22nn)

AUTHENTICATION_ERROR (2200)
AUTHORISATION_ERROR (2201)
AUTHORIZATION_ERROR (2201)
INVALID_AUTH_INFO (2202)

Data Management (23nn)

OBJECT_PENDING_TRANSFER (2300)
OBJECT_NOT_PENDING_TRANSFER (2301)
OBJECT_EXISTS (2302)
OBJECT_DOES_NOT_EXIST (2303)
STATUS_PROHIBITS_OP (2304)
ASSOC_PROHIBITS_OP (2305)
PARAM_POLICY_ERROR (2306)
UNIMPLEMENTED_OBJECT_SERVICE (2307)
DATA_MGMT_POLICY_VIOLATION (2308)

Server System (24nn)

COMMAND_FAILED (2400)

Connection Management (25nn)

COMMAND_FAILED_BYE (2500)
AUTH_FAILED_BYE (2501)
SESSION_LIMIT_EXCEEDED_BYE (2502)