Net::E...seCodes(3pm)
β¨ NAME β¨
Net::EPP::ResponseCodes β okay bestie, it's a Perl module that exports a lil bundle of constants matching EPP response codes π the manual page you're reading is Net::EPP::ResponseCodes(3pm), so now you know what you're looking at π«Ά
πΈ 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 π¦
okay so picture this: every single response an EPP server sends back to the client has at least one <result> element, and that element has a code attribute. That code is a four-digit numeric code and it's literally telling you how the request went. That's it, that's the whole vibe check π
So this module does the cute thing: it exports a set of constants that are just handy little mnemonics for each of the defined codes. No more squinting at 2303 like ποΈπποΈ β you get OBJECT_DOES_NOT_EXIST instead. Iconic behaviour, honestly π
π EXPORTS π
Net::EPP::ResponseCodes exports the following constants, bestie. The number in brackets is the integer value associated with the constant β that's the actual code value you'd see on the wire π₯
β¨ 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)
not me spotting bothAUTHORISATION_ERRORandAUTHORIZATION_ERRORsitting there with the same number2201... spelling variants, both exported, both real, no cap π
π¦ 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)
π COPYRIGHT π
This module is (c) 2008 - 2023 CentralNic Ltd and 2024 Gavin Brown. This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. π
okay and that's the whole page bestie, you ate that π«Ά this was perl v5.40.1, dated 2025-04-19, brought to you by Net::E...seCodes(3pm) β main character energy from start to finish, periodt πβ
π¦ where this page comes from
- debian trixie: libnet-epp-perl 0.28-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu resolute: libnet-epp-perl 0.28-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu stonking: libnet-epp-perl 0.28-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms