File Coverage

blib/lib/Net/DRI/Protocol/EPP/Extensions/EURid/Session.pm
Criterion Covered Total %
statement 12 30 40.0
branch 0 4 0.0
condition 0 3 0.0
subroutine 4 6 66.6
pod 0 2 0.0
total 16 45 35.5


line stmt bran cond sub pod time code
1             ## Domain Registry Interface, EURid EPP Session commands
2             ##
3             ## Copyright (c) 2011 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::EURid::Session;
16              
17 1     1   832 use strict;
  1         2  
  1         30  
18 1     1   4 use warnings;
  1         1  
  1         19  
19              
20 1     1   4 use Net::DRI::Exception;
  1         1  
  1         14  
21 1     1   3 use Net::DRI::Util;
  1         2  
  1         209  
22              
23             =pod
24              
25             =head1 NAME
26              
27             Net::DRI::Protocol::EPP::Extensions::EURid::Session - EURid EPP Session commands for Net::DRI
28              
29             =head1 DESCRIPTION
30              
31             Please see the README file for details.
32              
33             =head1 SUPPORT
34              
35             For now, support questions should be sent to:
36              
37             Enetdri@dotandco.comE
38              
39             Please also see the SUPPORT file in the distribution.
40              
41             =head1 SEE ALSO
42              
43             Ehttp://www.dotandco.com/services/software/Net-DRI/E
44              
45             =head1 AUTHOR
46              
47             Patrick Mevzek, Enetdri@dotandco.comE
48              
49             =head1 COPYRIGHT
50              
51             Copyright (c) 2011 Patrick Mevzek .
52             All rights reserved.
53              
54             This program is free software; you can redistribute it and/or modify
55             it under the terms of the GNU General Public License as published by
56             the Free Software Foundation; either version 2 of the License, or
57             (at your option) any later version.
58              
59             See the LICENSE file that comes with this distribution for more details.
60              
61             =cut
62              
63             ####################################################################################################
64              
65             sub register_commands
66             {
67 0     0 0   my ($class,$version)=@_;
68 0           my %tmp=(
69             'connect' => [ undef, \&parse_greeting ],
70             noop => [ undef, \&parse_greeting ], ## for keepalives
71             );
72              
73 0           return { 'session' => \%tmp };
74             }
75              
76             sub parse_greeting
77             {
78 0     0 0   my ($po,$otype,$oaction,$oname,$rinfo)=@_;
79 0           my $mes=$po->message();
80 0           my $g=$mes->node_greeting();
81 0 0 0       return unless $mes->is_success() && defined $g; ## make sure we are not called for all parsing operations (after poll), just after true greeting
82              
83 0           my $rserver=$rinfo->{session}->{server};
84              
85             ## For now, we always remove the DSS extension (see release 8.2)
86 0           my $nsdss='http://www.eurid.eu/xml/epp/dss-1.0';
87 0 0         return unless grep { $_ eq $nsdss } @{$rserver->{extensions_selected}};
  0            
  0            
88              
89 0           my %ctxlog=(action=>'greeting',direction=>'in',trid=>$mes->cltrid());
90 0           $po->log_output('info','protocol',{%ctxlog,message=>qq{Extension "$nsdss" is presented by server, we deselect it}});
91 0           $rserver->{extensions_selected}=[ grep { $_ ne $nsdss } @{$rserver->{extensions_selected}} ];
  0            
  0            
92              
93 0           return;
94             }
95              
96             ####################################################################################################
97             1;