File Coverage

blib/lib/Net/DRI/Protocol/EPP/Extensions/CIRA/Notifications.pm
Criterion Covered Total %
statement 12 28 42.8
branch 0 6 0.0
condition n/a
subroutine 4 6 66.6
pod 0 2 0.0
total 16 42 38.1


line stmt bran cond sub pod time code
1             ## Domain Registry Interface, CIRA EPP Notifications
2             ##
3             ## Copyright (c) 2010 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::CIRA::Notifications;
16              
17 1     1   860 use strict;
  1         2  
  1         22  
18 1     1   3 use warnings;
  1         1  
  1         17  
19              
20 1     1   3 use Net::DRI::Exception;
  1         2  
  1         13  
21 1     1   3 use Net::DRI::Util;
  1         1  
  1         219  
22              
23             ####################################################################################################
24              
25             sub register_commands
26             {
27 0     0 0   my ($class,$version)=@_;
28 0           my %tmp=(
29             review_cira => [ undef, \&parse ],
30             );
31              
32 0           return { 'message' => \%tmp };
33             }
34              
35             ####################################################################################################
36              
37             sub parse
38             {
39 0     0 0   my ($po,$otype,$oaction,$oname,$rinfo)=@_;
40 0           my $mes=$po->message();
41 0 0         return unless $mes->is_success();
42 0           my $node=$mes->get_response('poll','extData');
43 0 0         return unless defined $node;
44              
45 0           my $id=$mes->msg_id();
46 0           $rinfo->{message}->{$id}->{action}='review_cira';
47              
48 0           foreach my $el (Net::DRI::Util::xml_list_children($node))
49             {
50 0           my ($name,$n)=@$el;
51 0 0         unless ($name=~m/^(?:msgID|domainName|contactID|balance|deadline|hostName|ipAddress)$/o)
52             {
53 0           Net::DRI::Exception::err_assert('Unknown node name '.$name.' in .CA notification parsing, please report!');
54             }
55 0           $rinfo->{message}->{$id}->{Net::DRI::Util::remcam($name)}=$n->textContent();
56             }
57 0           return;
58             }
59              
60             ####################################################################################################
61             1;
62              
63             __END__