File Coverage

blib/lib/Net/DRI/Protocol/DAS.pm
Criterion Covered Total %
statement 15 31 48.3
branch 0 2 0.0
condition 0 3 0.0
subroutine 5 10 50.0
pod 1 3 33.3
total 21 49 42.8


line stmt bran cond sub pod time code
1             ## Domain Registry Interface, DAS Protocol (.BE & .EU)
2             ##
3             ## Copyright (c) 2007-2010,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;
16              
17 1     1   663 use strict;
  1         2  
  1         23  
18 1     1   2 use warnings;
  1         2  
  1         20  
19              
20 1     1   4 use base qw(Net::DRI::Protocol);
  1         1  
  1         72  
21              
22 1     1   4 use Net::DRI::Util;
  1         1  
  1         38  
23 1     1   375 use Net::DRI::Protocol::DAS::Message;
  1         2  
  1         5  
24              
25             =pod
26              
27             =head1 NAME
28              
29             Net::DRI::Protocol::DAS - DAS Protocol (.BE & .EU Domain Availability Service) for Net::DRI
30              
31             =head1 DESCRIPTION
32              
33             Please see the README file for details.
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) 2007-2010,2013 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 new
68             {
69 0     0 1   my ($c,$ctx,$rp)=@_;
70 0           my $drd=$ctx->{registry}->driver();
71 0           my $self=$c->SUPER::new($ctx);
72 0           $self->name('DAS');
73 0           my $version=Net::DRI::Util::check_equal($rp->{version},['1.0','2.0'],'1.0');
74 0           $self->version($version);
75 0 0 0       $self->default_parameters({ tld => (exists $rp->{no_tld} && $rp->{no_tld})? ($drd->tlds())[0] : undef });
76 0     0     $self->factories('message',sub { return Net::DRI::Protocol::DAS::Message->new(@_)->version($version); });
  0            
77 0           $self->_load($rp);
78 0           return $self;
79             }
80              
81             sub _load
82             {
83 0     0     my ($self,$rp)=@_;
84 0           return $self->SUPER::_load('Net::DRI::Protocol::DAS::Domain');
85             }
86              
87 0     0 0   sub tld { return shift->{default_parameters}->{tld}; }
88              
89             sub transport_default
90             {
91 0     0 0   my ($self)=@_;
92 0           return (protocol_connection => 'Net::DRI::Protocol::DAS::Connection', protocol_version => 1);
93             }
94              
95             ####################################################################################################
96             1;