File Coverage

blib/lib/Net/DRI/Protocol/DAS/AdamsNames/Connection.pm
Criterion Covered Total %
statement 15 27 55.5
branch 0 4 0.0
condition 0 3 0.0
subroutine 5 8 62.5
pod 0 3 0.0
total 20 45 44.4


line stmt bran cond sub pod time code
1             ## Domain Registry Interface, DAS Connection handling for AdamsNames
2             ##
3             ## Copyright (c) 2009,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::DAS::AdamsNames::Connection;
16              
17 1     1   935 use strict;
  1         1  
  1         32  
18 1     1   5 use warnings;
  1         2  
  1         19  
19              
20 1     1   4 use Net::DRI::Util;
  1         1  
  1         12  
21 1     1   4 use Net::DRI::Data::Raw;
  1         5  
  1         7  
22 1     1   23 use Net::DRI::Protocol::ResultStatus;
  1         1  
  1         6  
23              
24             =pod
25              
26             =head1 NAME
27              
28             Net::DRI::Protocol::DAS::AdamsNames::Connection - AdamsNames DAS Connection handling for Net::DRI
29              
30             =head1 DESCRIPTION
31              
32             Please see the README file for details.
33              
34             =head1 SUPPORT
35              
36             For now, support questions should be sent to:
37              
38             Enetdri@dotandco.comE
39              
40             Please also see the SUPPORT file in the distribution.
41              
42             =head1 SEE ALSO
43              
44             Ehttp://www.dotandco.com/services/software/Net-DRI/E
45              
46             =head1 AUTHOR
47              
48             Patrick Mevzek, Enetdri@dotandco.comE
49              
50             =head1 COPYRIGHT
51              
52             Copyright (c) 2009,2013 Patrick Mevzek .
53             All rights reserved.
54              
55             This program is free software; you can redistribute it and/or modify
56             it under the terms of the GNU General Public License as published by
57             the Free Software Foundation; either version 2 of the License, or
58             (at your option) any later version.
59              
60             See the LICENSE file that comes with this distribution for more details.
61              
62             =cut
63              
64             ####################################################################################################
65              
66             sub read_data
67             {
68 0     0 0   my ($class,$to,$sock)=@_;
69              
70 0           my @r;
71 0           while(my $l=$sock->getline())
72             {
73 0           chomp $l;
74 0           push @r,Net::DRI::Util::decode_ascii($l);
75 0 0         last if $l=~m/registered/;
76             }
77              
78 0 0 0       die(Net::DRI::Protocol::ResultStatus->new_error('COMMAND_FAILED_CLOSING','Unable to read answer (connection closed by registry ?)','en')) unless (@r && $r[-1]=~m/registered/);
79 0           return Net::DRI::Data::Raw->new_from_array(\@r);
80             }
81              
82             sub write_message
83             {
84 0     0 0   my ($class,$to,$msg)=@_;
85 0           return Net::DRI::Util::encode_ascii($msg->as_string());
86             }
87              
88             sub transport_default
89             {
90 0     0 0   my ($self,$tname)=@_;
91 0           return (defer => 1, close_after => 1, socktype => 'tcp', remote_port => 43, remote_host => 'whois.adamsnames.com');
92             }
93              
94             ####################################################################################################
95             1;