File Coverage

blib/lib/Net/DRI/Protocol/EPP/Extensions/VeriSign/Platforms/NameStore.pm
Criterion Covered Total %
statement 9 9 100.0
branch n/a
condition n/a
subroutine 3 3 100.0
pod n/a
total 12 12 100.0


line stmt bran cond sub pod time code
1             ## Domain Registry Interface, VeriSign EPP extensions
2             ##
3             ## Copyright (c) 2006,2008-2014,2016 Patrick Mevzek . All rights reserved.
4             ##
5             ## This file is part of Net::DRI
6             ##
7             ## Net::DRI is free software; you can redistribute it and/or modify
8             ## it under the terms of the GNU General Public License as published by
9             ## the Free Software Foundation; either version 2 of the License, or
10             ## (at your option) any later version.
11             ##
12             ## See the LICENSE file that comes with this distribution for more details.
13             ####################################################################################################
14              
15             package Net::DRI::Protocol::EPP::Extensions::VeriSign::Platforms::NameStore;
16              
17 5     5   2975 use strict;
  5         6  
  5         114  
18 5     5   15 use warnings;
  5         4  
  5         106  
19              
20 5     5   13 use base qw/Net::DRI::Protocol::EPP/;
  5         4  
  5         1587  
21             use Net::DRI::Data::Contact::JOBS;
22              
23             =pod
24              
25             =head1 NAME
26              
27             Net::DRI::Protocol::EPP::Extensions::VeriSign::Platforms::NameStore - VeriSign (.CC/.TV/.JOBS) EPP extensions for Net::DRI
28              
29             =head1 DESCRIPTION
30              
31             Please see the README file for details.
32              
33             Note that the PremiumDomain extension is not loaded by default.
34              
35             =head1 SUPPORT
36              
37             For now, support questions should be sent to:
38              
39             Enetdri@dotandco.comE
40              
41             Please also see the SUPPORT file in the distribution.
42              
43             =head1 SEE ALSO
44              
45             Ehttp://www.dotandco.com/services/software/Net-DRI/E
46              
47             =head1 AUTHOR
48              
49             Patrick Mevzek, Enetdri@dotandco.comE
50              
51             =head1 COPYRIGHT
52              
53             Copyright (c) 2006,2008-2014,2016 Patrick Mevzek .
54             All rights reserved.
55              
56             This program is free software; you can redistribute it and/or modify
57             it under the terms of the GNU General Public License as published by
58             the Free Software Foundation; either version 2 of the License, or
59             (at your option) any later version.
60              
61             See the LICENSE file that comes with this distribution for more details.
62              
63             =cut
64              
65             ####################################################################################################
66              
67             sub setup
68             {
69             my ($self,$rp)=@_;
70             $self->default_parameters()->{subproductid}=$rp->{default_product} || '_auto_';
71             $self->default_parameters()->{whois_info}=0;
72             $self->factories('contact',sub { return Net::DRI::Data::Contact::JOBS->new(@_); });
73             return;
74             }
75              
76             ## List of VeriSign extensions: http://www.verisigninc.com/en_US/channel-resources/domain-registry-products/epp-sdks/index.xhtml?loc=en_US
77             ## But see http://www.verisign.com/assets/epp-sdk/Verisign-EPP-SDK-Prog-Guide.pdf ยง13 Mappings and Extensions
78              
79             sub default_extensions
80             {
81             my ($self,$rp)=@_;
82             my @c=qw/VeriSign::Sync VeriSign::PollLowBalance VeriSign::PollRGP VeriSign::IDNLanguage VeriSign::WhoWas VeriSign::Suggestion VeriSign::Balance GracePeriod SecDNS/;
83             push @c,'VeriSign::WhoisInfo' if !exists $rp->{default_product} || (defined $rp->{default_product} && $rp->{default_product} ne 'dotCC' && $rp->{default_product} ne 'dotTV' );
84             push @c,'VeriSign::JobsContact' if exists $rp->{default_product} && defined $rp->{default_product} && $rp->{default_product} eq 'dotJOBS';
85             push @c,'VeriSign::NameStore'; ## this must come last
86             return @c;
87             }
88              
89             ####################################################################################################
90             1;