File Coverage

blib/lib/Net/DRI/Protocol/EPP/Extensions/SIDN/Message.pm
Criterion Covered Total %
statement 6 18 33.3
branch 0 4 0.0
condition 0 2 0.0
subroutine 2 4 50.0
pod 0 2 0.0
total 8 30 26.6


line stmt bran cond sub pod time code
1             ## Domain Registry Interface, EPP Message for SIDN
2             ##
3             ## Copyright (c) 2009-2011,2013 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::SIDN::Message;
16              
17 1     1   877 use strict;
  1         2  
  1         22  
18 1     1   3 use warnings;
  1         1  
  1         155  
19              
20             ####################################################################################################
21              
22             sub register_commands
23             {
24 0     0 0   my ($class,$version)=@_;
25 0           return { 'message' => { 'result' => [ undef, \&parse ] } };
26             }
27              
28             sub parse
29             {
30 0     0 0   my ($po,$otype,$oaction,$oname,$rinfo)=@_;
31 0           my $mes=$po->message();
32              
33             ## Parse sidn:ext
34 0           my $result=$mes->get_extension('sidn','ext');
35 0 0         return unless $result;
36 0           my $ns=$mes->ns('sidn');
37 0           $result=$result->getChildrenByTagNameNS($ns,'response');
38 0 0         return unless $result->size();
39              
40             ## We add it to the latest status extra_info seen.
41 0           foreach my $el ($result->get_node(1)->getChildrenByTagNameNS($ns,'msg'))
42             {
43             ## code is mandatory, as well as text probably, field is optional
44 0   0       $mes->add_to_extra_info({from => 'sidn', type => 'text', code => $el->getAttribute('code'),field => $el->getAttribute('field') || '', message => $el->textContent()});
45             }
46 0           return;
47             }
48              
49             ####################################################################################################
50             1;
51              
52             __END__