File Coverage

blib/lib/SRS/EPP/Command/Check/Domain.pm
Criterion Covered Total %
statement 1 3 33.3
branch n/a
condition n/a
subroutine 1 1 100.0
pod n/a
total 2 4 50.0


line stmt bran cond sub pod time code
1              
2              
3             package SRS::EPP::Command::Check::Domain;
4              
5 1     1   1857 use Moose;
  0            
  0            
6             extends 'SRS::EPP::Command::Check';
7             use MooseX::Method::Signatures;
8             use Crypt::Password;
9             use SRS::EPP::Session;
10             use XML::EPP::Domain;
11              
12             # for plugin system to connect
13             sub xmlns {
14             XML::EPP::Domain::Node::xmlns();
15             }
16              
17             method process( SRS::EPP::Session $session ) {
18             $self->session($session);
19             my $epp = $self->message;
20              
21             my $payload = $epp->message->argument->payload;
22              
23             my @domains = $payload->names;
24              
25             return map {
26             XML::SRS::Whois->new(
27             domain => $_,
28             full => 0,
29             );
30             } @domains;
31             }
32              
33             has 'avail' =>
34             is => "rw",
35             isa => "ArrayRef[Str]",
36             ;
37              
38             method notify( SRS::EPP::SRSResponse @rs ) {
39             $self->avail([ map { $_->message->response->status } @rs ]);
40             my $epp = $self->message;
41             my $payload = $epp->message->argument->payload;
42              
43             my @domains = $payload->names;
44              
45             my $r = XML::EPP::Domain::Check::Response->new(
46             items => [
47             map { XML::EPP::Domain::Check::Status->new(
48             name_status => XML::EPP::Domain::Check::Name->new(
49             name => $domains[$_],
50             available => ($self->avail->[$_] eq 'Available' ? 1 : 0),
51             ),
52             #reason =>
53             ) } 0..$#domains
54             ]
55             );
56              
57             # from SRS::EPP::Response::Check
58             return $self->make_response(
59             'Check',
60             code => 1000,
61             payload => $r,
62             );
63             };
64              
65             1;