diff --git a/HISTORY.md b/HISTORY.md index d088294..a9493f2 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,3 +1,12 @@ +## [2.10.4](https://github.com/hexonet/perl-sdk/compare/v2.10.3...v2.10.4) (2022-06-10) + + +### Bug Fixes + +* **ci:** remove "." from cpanm args (duplicated by install property) ([322f9a3](https://github.com/hexonet/perl-sdk/commit/322f9a3ac0cac9ee3b4a5a4e1951abbc455ea0a3)) +* **ci:** switch release step to ubuntu image with better nodejs compatibility ([c9c04a5](https://github.com/hexonet/perl-sdk/commit/c9c04a58bfe0f7bd32aa56fa620bf19dd2f9caaa)) +* **dep-bump:** upgrade npm engines, node dependencies and reviewed gh workflow ([da06958](https://github.com/hexonet/perl-sdk/commit/da069585d2370f6a15290f3dce6bf3bdd82bd54c)) + ## [2.10.3](https://github.com/hexonet/perl-sdk/compare/v2.10.2...v2.10.3) (2022-03-23) diff --git a/WebService-Hexonet-Connector-latest.tar.gz b/WebService-Hexonet-Connector-latest.tar.gz index acb7d82..b4811f1 100644 Binary files a/WebService-Hexonet-Connector-latest.tar.gz and b/WebService-Hexonet-Connector-latest.tar.gz differ diff --git a/cover_db/blib-lib-WebService-Hexonet-Connector-APIClient-pm.html b/cover_db/blib-lib-WebService-Hexonet-Connector-APIClient-pm.html index b47fdff..6a5cb13 100644 --- a/cover_db/blib-lib-WebService-Hexonet-Connector-APIClient-pm.html +++ b/cover_db/blib-lib-WebService-Hexonet-Connector-APIClient-pm.html @@ -26,30 +26,30 @@

File Coverage

- - - - - - - - - - - - - - + + + + + + + + + + + + + + - + - - + + @@ -57,14 +57,14 @@

File Coverage

- - + + - - + + @@ -75,111 +75,111 @@

File Coverage

- - + + - - - + + + - - - - + + + + - - - - - - - + + + + + + + - - + + - - - + + + - - + + - - - - + + + + - + - - + + - - - - - - + + + + + + - + - - - + + + - - - + + + - - + + - - - + + + - - - + + + - - + + - + - - + + - + - + @@ -187,251 +187,251 @@

File Coverage

- + - - - + + + - - - + + + - - - + + + - - - + + + - - + + - - - - + + + + - - - - + + + + - - - - - - - - - - + + + + + + + + + + - + - + - + - - + + - - + + - - - + + + - - - + + + - + - + - - - + + + - + - + - + - + - - - - - - - - - + + + + + + + + + - - + + - - - - - + + + + + - - + + - + - - - + + + - - - + + + - - - - - - - + + + + + + + - - - - + + + + - - - + + + - - - + + + - + - - + + - + - + - - + + - + - + - - - + + + - - - - + + + + - - - + + + - - - + + + - + - + - - + + - - - + + + - + - - + + - + - - + + - - - + + + diff --git a/cover_db/blib-lib-WebService-Hexonet-Connector-Column-pm.html b/cover_db/blib-lib-WebService-Hexonet-Connector-Column-pm.html index 2131092..6653cf0 100644 --- a/cover_db/blib-lib-WebService-Hexonet-Connector-Column-pm.html +++ b/cover_db/blib-lib-WebService-Hexonet-Connector-Column-pm.html @@ -26,37 +26,37 @@

File Coverage

linestmtbrancondsubpodtimecode
1package WebService::Hexonet::Connector::APIClient;
2
3
1
1
8
2
use 5.030;
4
1
1
1
2
1
8
use strict;
5
1
1
1
2
1
17
use warnings;
6
1
1
1
240
7
4
use utf8;
7
1
1
1
291
2
19
use WebService::Hexonet::Connector::Logger;
8
1
1
1
362
1
19
use WebService::Hexonet::Connector::Response;
9
1
1
1
3
1
9
use WebService::Hexonet::Connector::ResponseTemplateManager;
10
1
1
1
330
1
18
use WebService::Hexonet::Connector::SocketConfig;
11
1
1
1
313
23027
20
use LWP::UserAgent;
12
1
1
1
3
1
34
use Carp;
13
1
1
1
2
1
17
use Readonly;
14
1
1
1
2
2
13
use Data::Dumper;
15
1
1
1
3
1
14
use Config;
16
1
1
1
2
2
3
use POSIX;
2
3
1
1
6
3
use 5.030;
4
1
1
1
1
1
8
use strict;
5
1
1
1
2
1
21
use warnings;
6
1
1
1
177
114
2
use utf8;
7
1
1
1
319
1
19
use WebService::Hexonet::Connector::Logger;
8
1
1
1
369
2
22
use WebService::Hexonet::Connector::Response;
9
1
1
1
3
1
11
use WebService::Hexonet::Connector::ResponseTemplateManager;
10
1
1
1
343
2
16
use WebService::Hexonet::Connector::SocketConfig;
11
1
1
1
321
24176
19
use LWP::UserAgent;
12
1
1
1
4
1
37
use Carp;
13
1
1
1
3
1
18
use Readonly;
14
1
1
1
2
1
16
use Data::Dumper;
15
1
1
1
2
1
17
use Config;
16
1
1
1
2
1
4
use POSIX;
17
18Readonly my $SOCKETTIMEOUT                => 300;                                          # 300s or 5 min
19Readonly my $IDX4                         => 4;                                            # Index 4 constant
20Readonly our $ISPAPI_CONNECTION_URL_OTE   => 'https://api-ote.ispapi.net/api/call.cgi';    # OTE Connection Setup URL
21Readonly our $ISPAPI_CONNECTION_URL_LIVE  => 'https://api.ispapi.net/api/call.cgi';        # LIVE Connection Setup URL
22Readonly our $ISPAPI_CONNECTION_URL_PROXY => 'http://127.0.0.1/api/call.cgi';              # High Speed Connection Setup URL
23
24our $VERSION = 'v2.10.3';
23
24our $VERSION = 'v2.10.4';
25
26my $rtm = WebService::Hexonet::Connector::ResponseTemplateManager->getInstance();
27
28
29sub new {
30
2
1
5
    my $class = shift;
31
2
5
    my $self  = bless {
30
2
1
4
    my $class = shift;
31
2
6
    my $self  = bless {
32        socketURL    => $ISPAPI_CONNECTION_URL_LIVE,
33        debugMode    => 0,
34        socketConfig => WebService::Hexonet::Connector::SocketConfig->new(),
36        curlopts     => {},
37        logger       => WebService::Hexonet::Connector::Logger->new()
38    }, $class;
39
2
14
    $self->setURL($ISPAPI_CONNECTION_URL_LIVE);
40
2
4
    $self->useLIVESystem();
39
2
17
    $self->setURL($ISPAPI_CONNECTION_URL_LIVE);
40
2
5
    $self->useLIVESystem();
41
2
4
    $self->setDefaultLogger();
42
2
3
    return $self;
43}
44
45
46sub setDefaultLogger {
47
2
0
1
    my $self = shift;
48
2
3
    $self->{logger} = WebService::Hexonet::Connector::Logger->new();
47
2
0
2
    my $self = shift;
48
2
5
    $self->{logger} = WebService::Hexonet::Connector::Logger->new();
49
2
2
    return $self;
50}
51
52
53sub setCustomLogger {
58
0
0
    return $self;
59}
60
61
62sub enableDebugMode {
63
2
1
275
    my $self = shift;
64
2
4
    $self->{debugMode} = 1;
63
2
1
263
    my $self = shift;
64
2
5
    $self->{debugMode} = 1;
65
2
3
    return $self;
66}
67
68
69sub disableDebugMode {
70
2
1
5
    my $self = shift;
71
2
2
    $self->{debugMode} = 0;
72
2
3
    return $self;
70
2
1
4
    my $self = shift;
71
2
3
    $self->{debugMode} = 0;
72
2
2
    return $self;
73}
74
75
76sub getPOSTData {
77
52
1
754
    my ( $self, $cmd, $secured ) = @_;
78
52
104
    my $post = $self->{socketConfig}->getPOSTData();
79
52
108
    if ( defined($secured) && $secured == 1 ) {
80
19
24
        $post->{s_pw} = '***';
77
52
1
745
    my ( $self, $cmd, $secured ) = @_;
78
52
116
    my $post = $self->{socketConfig}->getPOSTData();
79
52
115
    if ( defined($secured) && $secured == 1 ) {
80
19
28
        $post->{s_pw} = '***';
81    }
82
52
44
    my $tmp = q{};
83
52
68
    if ( ( ref $cmd ) eq 'HASH' ) {
84
51
51
46
96
        foreach my $key ( sort keys %{$cmd} ) {
85
97
113
            if ( defined $cmd->{$key} ) {
86
96
93
                my $val = $cmd->{$key};
87
96
98
                $val =~ s/[\r\n]//msx;
88
96
120
                $tmp .= "${key}=${val}\n";
82
52
56
    my $tmp = q{};
83
52
79
    if ( ( ref $cmd ) eq 'HASH' ) {
84
51
51
46
105
        foreach my $key ( sort keys %{$cmd} ) {
85
97
111
            if ( defined $cmd->{$key} ) {
86
96
91
                my $val = $cmd->{$key};
87
96
110
                $val =~ s/[\r\n]//msx;
88
96
122
                $tmp .= "${key}=${val}\n";
89            }
90        }
91    } else {
92
1
2
        $tmp = $cmd;
93    }
94
52
84
    if ( defined($secured) && $secured == 1 ) {
95
19
35
        $tmp =~ s/PASSWORD\=[^\n]+/PASSWORD=***/gmsx;
94
52
103
    if ( defined($secured) && $secured == 1 ) {
95
19
39
        $tmp =~ s/PASSWORD\=[^\n]+/PASSWORD=***/gmsx;
96    }
97
52
98
    $tmp =~ s/\n$//msx;
98
52
87
    if ( utf8::is_utf8($tmp) ) {
99
2
3
        utf8::encode($tmp);
97
52
116
    $tmp =~ s/\n$//msx;
98
52
90
    if ( utf8::is_utf8($tmp) ) {
99
2
4
        utf8::encode($tmp);
100    }
101
52
66
    $post->{'s_command'} = $tmp;
102
52
64
    return $post;
101
52
63
    $post->{'s_command'} = $tmp;
102
52
65
    return $post;
103}
104
105
106sub getSession {
107
2
1
4
    my $self   = shift;
108
2
4
    my $sessid = $self->{socketConfig}->getSession();
109
2
3
    if ( length $sessid ) {
110
1
2
        return $sessid;
107
2
1
5
    my $self   = shift;
108
2
5
    my $sessid = $self->{socketConfig}->getSession();
109
2
4
    if ( length $sessid ) {
110
1
3
        return $sessid;
111    }
112
1
2
    return;
112
1
1
    return;
113}
114
115
116sub getURL {
117
5
1
10
    my $self = shift;
118
5
7
    return $self->{socketURL};
117
5
1
49
    my $self = shift;
118
5
10
    return $self->{socketURL};
119}
120
121
122sub getUserAgent {
123
21
1
37
    my $self = shift;
124
21
44
    if ( !( length $self->{ua} ) ) {
125
1
7
        my $arch = (POSIX::uname)[ $IDX4 ];
126
1
6
        my $os   = (POSIX::uname)[ 0 ];
127
1
3
        my $rv   = $self->getVersion();
128
1
9
        $self->{ua} = "PERL-SDK ($os; $arch; rv:$rv) perl/$Config{version}";
123
21
1
43
    my $self = shift;
124
21
56
    if ( !( length $self->{ua} ) ) {
125
1
8
        my $arch = (POSIX::uname)[ $IDX4 ];
126
1
7
        my $os   = (POSIX::uname)[ 0 ];
127
1
2
        my $rv   = $self->getVersion();
128
1
10
        $self->{ua} = "PERL-SDK ($os; $arch; rv:$rv) perl/$Config{version}";
129    }
130
21
42
    return $self->{ua};
130
21
46
    return $self->{ua};
131}
132
133
134sub setUserAgent {
135
2
1
915
    my ( $self, $str, $rv, $modules ) = @_;
136
2
7
    my $arch = (POSIX::uname)[ $IDX4 ];
137
2
9
    my $os   = (POSIX::uname)[ 0 ];
135
2
1
969
    my ( $self, $str, $rv, $modules ) = @_;
136
2
13
    my $arch = (POSIX::uname)[ $IDX4 ];
137
2
10
    my $os   = (POSIX::uname)[ 0 ];
138
2
4
    my $rv2  = $self->getVersion();
139
2
2
    my $mods = q{};
140
2
8
    if ( defined $modules && length($modules) > 0 ) {
141
1
1
1
2
        $mods = q{ } . join q{ }, @{$modules};
139
2
3
    my $mods = q{};
140
2
7
    if ( defined $modules && length($modules) > 0 ) {
141
1
1
2
2
        $mods = q{ } . join q{ }, @{$modules};
142    }
143
2
6
    $self->{ua} = "$str ($os; $arch; rv:$rv)$mods perl-sdk/$rv2 perl/$Config{version}";
144
2
8
    return $self;
143
2
8
    $self->{ua} = "$str ($os; $arch; rv:$rv)$mods perl-sdk/$rv2 perl/$Config{version}";
144
2
7
    return $self;
145}
146
147
148sub getProxy {
149
20
1
28
    my ($self) = @_;
150
20
36
    if ( exists $self->{curlopts}->{'PROXY'} ) {
151
1
2
        return $self->{curlopts}->{'PROXY'};
149
20
1
57
    my ($self) = @_;
150
20
46
    if ( exists $self->{curlopts}->{'PROXY'} ) {
151
1
4
        return $self->{curlopts}->{'PROXY'};
152    }
153
19
26
    return;
154}
155
156
157sub setProxy {
158
2
1
4
    my ( $self, $proxy ) = @_;
159
2
3
    if ( length($proxy) == 0 ) {
160
1
2
        delete $self->{curlopts}->{'PROXY'};
158
2
1
2
    my ( $self, $proxy ) = @_;
159
2
5
    if ( length($proxy) == 0 ) {
160
1
1
        delete $self->{curlopts}->{'PROXY'};
161    } else {
162
1
2
        $self->{curlopts}->{'PROXY'} = $proxy;
163    }
164
2
2
    return $self;
165}
166
167
168sub getReferer {
169
20
1
37
    my ($self) = @_;
170
20
45
    if ( exists $self->{curlopts}->{'REFERER'} ) {
169
20
1
36
    my ($self) = @_;
170
20
50
    if ( exists $self->{curlopts}->{'REFERER'} ) {
171
1
3
        return $self->{curlopts}->{'REFERER'};
172    }
173
19
27
    return;
173
19
30
    return;
174}
175
176
177sub setReferer {
178
2
1
326
    my ( $self, $referer ) = @_;
179
2
41
    if ( length($referer) == 0 ) {
178
2
1
342
    my ( $self, $referer ) = @_;
179
2
4
    if ( length($referer) == 0 ) {
180
1
1
        delete $self->{curlopts}->{'REFERER'};
181    } else {
182
1
2
        $self->{curlopts}->{'REFERER'} = $referer;
182
1
3
        $self->{curlopts}->{'REFERER'} = $referer;
183    }
184
2
3
    return $self;
185}
186
187
188sub getVersion {
189
4
1
11
    my $self = shift;
189
4
1
15
    my $self = shift;
190
4
7
    return $VERSION;
191}
192
193
194sub saveSession {
196    $session->{socketcfg} = {
197        entity  => $self->{socketConfig}->getSystemEntity(),
198        session => $self->{socketConfig}->getSession()
199
1
2
    };
199
1
3
    };
200
1
2
    return $self;
201}
202
203
204sub reuseSession {
205
1
1
2
    my ( $self, $session ) = @_;
206
1
4
    $self->{socketConfig}->setSystemEntity( $session->{socketcfg}->{entity} );
207
1
2
    $self->setSession( $session->{socketcfg}->{session} );
205
1
1
3
    my ( $self, $session ) = @_;
206
1
2
    $self->{socketConfig}->setSystemEntity( $session->{socketcfg}->{entity} );
207
1
3
    $self->setSession( $session->{socketcfg}->{session} );
208
1
1
    return $self;
209}
210
211
212sub setURL {
213
11
1
284
    my ( $self, $value ) = @_;
214
11
33
    $self->{socketURL} = $value;
215
11
10
    return $self;
213
11
1
302
    my ( $self, $value ) = @_;
214
11
30
    $self->{socketURL} = $value;
215
11
14
    return $self;
216}
217
218
219sub setOTP {
220
7
1
351
    my ( $self, $value ) = @_;
221
7
17
    $self->{socketConfig}->setOTP($value);
222
7
6
    return $self;
220
7
1
340
    my ( $self, $value ) = @_;
221
7
22
    $self->{socketConfig}->setOTP($value);
222
7
9
    return $self;
223}
224
225
226sub setSession {
227
12
1
1779
    my ( $self, $value ) = @_;
228
12
28
    $self->{socketConfig}->setSession($value);
229
12
44
    return $self;
227
12
1
1818
    my ( $self, $value ) = @_;
228
12
32
    $self->{socketConfig}->setSession($value);
229
12
13
    return $self;
230}
231
232
233sub setRemoteIPAddress {
234
3
1
313
    my ( $self, $value ) = @_;
235
3
5
    $self->{socketConfig}->setRemoteAddress($value);
234
3
1
309
    my ( $self, $value ) = @_;
235
3
8
    $self->{socketConfig}->setRemoteAddress($value);
236
3
3
    return $self;
237}
238
239
240sub setCredentials {
241
11
1
936
    my ( $self, $uid, $pw ) = @_;
242
11
25
    $self->{socketConfig}->setLogin($uid);
243
11
21
    $self->{socketConfig}->setPassword($pw);
244
11
10
    return $self;
241
11
1
922
    my ( $self, $uid, $pw ) = @_;
242
11
30
    $self->{socketConfig}->setLogin($uid);
243
11
25
    $self->{socketConfig}->setPassword($pw);
244
11
11
    return $self;
245}
246
247
248sub setRoleCredentials {
249
3
1
917
    my ( $self, $uid, $role, $pw ) = @_;
250
3
5
    my $myuid = "${uid}!${role}";
251
3
3
    $myuid =~ s/^\!$//msx;
252
3
4
    return $self->setCredentials( $myuid, $pw );
249
3
1
911
    my ( $self, $uid, $role, $pw ) = @_;
250
3
4
    my $myuid = "${uid}!${role}";
251
3
5
    $myuid =~ s/^\!$//msx;
252
3
5
    return $self->setCredentials( $myuid, $pw );
253}
254
255
256sub login {
257
3
1
7
    my $self = shift;
258
3
3
    my $otp  = shift;
259
3
13
    $self->setOTP( $otp || q{} );
260
3
8
    my $rr = $self->request( { COMMAND => 'StartSession' } );
261
3
10
    if ( $rr->isSuccess() ) {
262
1
2
        my $col    = $rr->getColumn('SESSION');
263
1
2
        my $sessid = q{};
264
1
2
        if ( defined $col ) {
265
1
2
            my @d = $col->getData();
266
1
1
            $sessid = $d[ 0 ];
257
3
1
11
    my $self = shift;
258
3
6
    my $otp  = shift;
259
3
14
    $self->setOTP( $otp || q{} );
260
3
13
    my $rr = $self->request( { COMMAND => 'StartSession' } );
261
3
17
    if ( $rr->isSuccess() ) {
262
1
4
        my $col    = $rr->getColumn('SESSION');
263
1
1
        my $sessid = q{};
264
1
4
        if ( defined $col ) {
265
1
3
            my @d = $col->getData();
266
1
3
            $sessid = $d[ 0 ];
267        }
268
1
4
        $self->setSession($sessid);
268
1
3
        $self->setSession($sessid);
269    }
270
3
28
    return $rr;
270
3
36
    return $rr;
271}
272
273
274sub loginExtended {
275
1
1
1
    my $self   = shift;
275
1
1
2
    my $self   = shift;
276
1
2
    my $params = shift;
277
1
1
    my $otpc   = shift;
278
1
3
    if ( !defined $otpc ) {
277
1
2
    my $otpc   = shift;
278
1
11
    if ( !defined $otpc ) {
279
1
2
        $otpc = q{};
280    }
281
1
3
    $self->setOTP($otpc);
282
1
2
    my $cmd = { COMMAND => 'StartSession' };
283
1
1
2
2
    foreach my $key ( keys %{$params} ) {
282
1
3
    my $cmd = { COMMAND => 'StartSession' };
283
1
1
2
4
    foreach my $key ( keys %{$params} ) {
284
1
2
        $cmd->{$key} = $params->{$key};
285    }
286
1
2
    my $rr = $self->request($cmd);
287
1
229
    if ( $rr->isSuccess() ) {
288
1
2
        my $col    = $rr->getColumn('SESSION');
286
1
3
    my $rr = $self->request($cmd);
287
1
4
    if ( $rr->isSuccess() ) {
288
1
376
        my $col    = $rr->getColumn('SESSION');
289
1
2
        my $sessid = q{};
290
1
2
        if ( defined $col ) {
291
1
3
            my @d = $col->getData();
292
1
1
            $sessid = $d[ 0 ];
290
1
5
        if ( defined $col ) {
291
1
2
            my @d = $col->getData();
292
1
2
            $sessid = $d[ 0 ];
293        }
294
1
3
        $self->setSession($sessid);
294
1
5
        $self->setSession($sessid);
295    }
296
1
5
    return $rr;
296
1
8
    return $rr;
297}
298
299
300sub logout {
301
2
1
3
    my $self = shift;
302
2
6
    my $rr   = $self->request( { COMMAND => 'EndSession' } );
303
2
6
    if ( $rr->isSuccess() ) {
304
1
3
        $self->setSession(q{});
302
2
8
    my $rr   = $self->request( { COMMAND => 'EndSession' } );
303
2
9
    if ( $rr->isSuccess() ) {
304
1
4
        $self->setSession(q{});
305    }
306
2
14
    return $rr;
306
2
16
    return $rr;
307}
308
309
310sub request {
311
18
1
32
    my ( $self, $cmd ) = @_;
311
18
1
42
    my ( $self, $cmd ) = @_;
312    # flatten nested api command bulk parameters
313
18
42
    my $newcmd = $self->_flattenCommand($cmd);
313
18
53
    my $newcmd = $self->_flattenCommand($cmd);
314    # auto convert umlaut names to punycode
315
18
34
    $newcmd = $self->_autoIDNConvert($newcmd);
315
18
45
    $newcmd = $self->_autoIDNConvert($newcmd);
316
317    # request command to API
318
18
39
    my $cfg     = { CONNECTION_URL => $self->{socketURL} };
319
18
39
    my $post    = $self->getPOSTData($newcmd);
320
18
23
    my $secured = $self->getPOSTData( $newcmd, 1 );
321
322
18
75
    my $ua = LWP::UserAgent->new();
323
18
4755
    $ua->agent( $self->getUserAgent() );
324
18
619
    $ua->default_header( 'Expect', q{} );
325
18
474
    $ua->timeout($SOCKETTIMEOUT);
326
18
240
    my $referer = $self->getReferer();
327
18
29
    if ($referer) {
318
18
51
    my $cfg     = { CONNECTION_URL => $self->{socketURL} };
319
18
47
    my $post    = $self->getPOSTData($newcmd);
320
18
34
    my $secured = $self->getPOSTData( $newcmd, 1 );
321
322
18
105
    my $ua = LWP::UserAgent->new();
323
18
5215
    $ua->agent( $self->getUserAgent() );
324
18
643
    $ua->default_header( 'Expect', q{} );
325
18
481
    $ua->timeout($SOCKETTIMEOUT);
326
18
258
    my $referer = $self->getReferer();
327
18
40
    if ($referer) {
328
0
0
        $ua->default_header( 'Referer', $referer );
329    }
330
18
34
    my $proxy = $self->getProxy();
331
18
25
    if ($proxy) {
330
18
46
    my $proxy = $self->getProxy();
331
18
33
    if ($proxy) {
332
0
0
        $ua->proxy( [ 'http', 'https' ], $proxy );
333    }
334
335
18
42
    my $r = $ua->post( $cfg->{CONNECTION_URL}, $post );
336
18
13500095
    if ( $r->is_success ) {
337
17
169
        $r = WebService::Hexonet::Connector::Response->new( $r->decoded_content, $newcmd, $cfg );
338
17
54
        if ( $self->{debugMode} ) {
339
2
8
            $self->{logger}->log( $secured, $r );
334
335
18
53
    my $r = $ua->post( $cfg->{CONNECTION_URL}, $post );
336
18
10367470
    if ( $r->is_success ) {
337
17
196
        $r = WebService::Hexonet::Connector::Response->new( $r->decoded_content, $newcmd, $cfg );
338
17
69
        if ( $self->{debugMode} ) {
339
2
11
            $self->{logger}->log( $secured, $r );
340        }
341    } else {
342
1
9
        $r = WebService::Hexonet::Connector::Response->new( $rtm->getTemplate('httperror')->getPlain(), $newcmd, $cfg );
343
1
11
        if ( $self->{debugMode} ) {
342
1
13
        $r = WebService::Hexonet::Connector::Response->new( $rtm->getTemplate('httperror')->getPlain(), $newcmd, $cfg );
343
1
9
        if ( $self->{debugMode} ) {
344
0
0
            $self->{logger}->log( $secured, $r, $r->status_line );
345        }
346    }
347
18
346
    return $r;
347
18
467
    return $r;
348}
349
350
351sub requestNextResponsePage {
352
7
1
18
    my ( $self, $rr ) = @_;
353
7
16
    my $mycmd = $rr->getCommand();
354
7
20
    if ( defined $mycmd->{LAST} ) {
352
7
1
21
    my ( $self, $rr ) = @_;
353
7
18
    my $mycmd = $rr->getCommand();
354
7
17
    if ( defined $mycmd->{LAST} ) {
355
0
0
        croak 'Parameter LAST in use! Please remove it to avoid issues in requestNextPage.';
356    }
357
7
9
    my $first = 0;
358
7
14
    if ( defined $mycmd->{FIRST} ) {
359
6
8
        $first = $mycmd->{FIRST};
357
7
12
    my $first = 0;
358
7
17
    if ( defined $mycmd->{FIRST} ) {
359
6
10
        $first = $mycmd->{FIRST};
360    }
361
7
17
    my $total = $rr->getRecordsTotalCount();
362
7
16
    my $limit = $rr->getRecordsLimitation();
363
7
12
    $first += $limit;
364
7
18
    if ( $first < $total ) {
365
6
7
        $mycmd->{FIRST} = $first;
366
6
7
        $mycmd->{LIMIT} = $limit;
367
6
11
        return $self->request($mycmd);
361
7
24
    my $total = $rr->getRecordsTotalCount();
362
7
19
    my $limit = $rr->getRecordsLimitation();
363
7
13
    $first += $limit;
364
7
17
    if ( $first < $total ) {
365
6
10
        $mycmd->{FIRST} = $first;
366
6
11
        $mycmd->{LIMIT} = $limit;
367
6
17
        return $self->request($mycmd);
368    }
369
1
3
    return;
370}
371
372
373sub requestAllResponsePages {
374
1
1
6
    my ( $self, $cmd ) = @_;
375
1
1
    my @responses = ();
376
1
2
    my $command   = {};
377
1
1
1
2
    foreach my $key ( keys %{$cmd} ) {
374
1
1
8
    my ( $self, $cmd ) = @_;
375
1
2
    my @responses = ();
376
1
1
    my $command   = {};
377
1
1
2
2
    foreach my $key ( keys %{$cmd} ) {
378
3
5
        $command->{$key} = $cmd->{$key};
379    }
380
1
2
    $command->{FIRST} = 0;
381
1
2
    my $rr  = $self->request($command);
382
1
1
    my $tmp = $rr;
380
1
1
    $command->{FIRST} = 0;
381
1
4
    my $rr  = $self->request($command);
382
1
2
    my $tmp = $rr;
383
1
2
    my $idx = 0;
384
1
3
    while ( defined $tmp ) {
385
5
7
        push @responses, $tmp;
386
5
12
        $tmp = $self->requestNextResponsePage($tmp);
384
1
2
    while ( defined $tmp ) {
385
5
10
        push @responses, $tmp;
386
5
20
        $tmp = $self->requestNextResponsePage($tmp);
387    }
388
1
17
    return \@responses;
388
1
20
    return \@responses;
389}
390
391
392sub setUserView {
393
1
1
619
    my ( $self, $uid ) = @_;
394
1
5
    $self->{socketConfig}->setUser($uid);
393
1
1
716
    my ( $self, $uid ) = @_;
394
1
7
    $self->{socketConfig}->setUser($uid);
395
1
1
    return $self;
396}
397
398
399sub resetUserView {
400
1
1
1
    my $self = shift;
401
1
5
    $self->{socketConfig}->setUser(q{});
401
1
6
    $self->{socketConfig}->setUser(q{});
402
1
1
    return $self;
403}
404
405
406sub useDefaultConnectionSetup {
407
1
1
323
    my $self = shift;
407
1
1
348
    my $self = shift;
408
1
2
    return $self->setURL($ISPAPI_CONNECTION_URL_LIVE);
409}
410
411
412sub useHighPerformanceConnectionSetup {
413
1
1
333
    my $self = shift;
414
1
2
    return $self->setURL($ISPAPI_CONNECTION_URL_PROXY);
413
1
1
386
    my $self = shift;
414
1
3
    return $self->setURL($ISPAPI_CONNECTION_URL_PROXY);
415}
416
417
418sub useOTESystem {
419
1
0
297
    my $self = shift;
419
1
0
302
    my $self = shift;
420
1
3
    $self->setURL($ISPAPI_CONNECTION_URL_OTE);
421
1
3
    $self->{socketConfig}->setSystemEntity('1234');
421
1
2
    $self->{socketConfig}->setSystemEntity('1234');
422
1
1
    return $self;
423}
424
425
426sub useLIVESystem {
427
2
1
2
    my $self = shift;
428
2
5
    $self->setURL($ISPAPI_CONNECTION_URL_LIVE);
429
2
5
    $self->{socketConfig}->setSystemEntity('54cd');
430
2
2
    return $self;
428
2
3
    $self->setURL($ISPAPI_CONNECTION_URL_LIVE);
429
2
4
    $self->{socketConfig}->setSystemEntity('54cd');
430
2
1
    return $self;
431}
432
433
434sub _flattenCommand {
435
18
25
    my ( $self, $cmd ) = @_;
436
18
18
20
41
    for my $key ( keys %{$cmd} ) {
437
37
41
        my $newkey = uc $key;
438
37
58
        if ( $newkey ne $key ) {
435
18
35
    my ( $self, $cmd ) = @_;
436
18
18
25
38
    for my $key ( keys %{$cmd} ) {
437
37
43
        my $newkey = uc $key;
438
37
65
        if ( $newkey ne $key ) {
439
1
2
            $cmd->{$newkey} = delete $cmd->{$key};
440        }
441
37
60
        if ( ref( $cmd->{$newkey} ) eq 'ARRAY' ) {
442
3
3
3
5
            my @val = @{ $cmd->{$newkey} };
443
3
3
            my $idx = 0;
441
37
69
        if ( ref( $cmd->{$newkey} ) eq 'ARRAY' ) {
442
3
3
3
6
            my @val = @{ $cmd->{$newkey} };
443
3
2
            my $idx = 0;
444
3
4
            for my $str (@val) {
445
6
8
                $str =~ s/[\r\n]//gmsx;
446
6
8
                $cmd->{"${key}${idx}"} = $str;
447
6
6
                $idx++;
445
6
9
                $str =~ s/[\r\n]//gmsx;
446
6
24
                $cmd->{"${key}${idx}"} = $str;
447
6
7
                $idx++;
448            }
449
3
4
            delete $cmd->{$newkey};
449
3
6
            delete $cmd->{$newkey};
450        }
451    }
452
18
31
    return $cmd;
452
18
32
    return $cmd;
453}
454
455
456sub _autoIDNConvert {
457
18
23
    my ( $self, $cmd ) = @_;
458
18
57
    if ( $cmd->{'COMMAND'} =~ /^CONVERTIDN$/imsx ) {
457
18
32
    my ( $self, $cmd ) = @_;
458
18
65
    if ( $cmd->{'COMMAND'} =~ /^CONVERTIDN$/imsx ) {
459
1
2
        return $cmd;
460    }
461
17
37
17
19
91
30
    my @keys = grep {/^(DOMAIN|NAMESERVER|DNSZONE)(\d*)$/imsx} keys %{$cmd};
462
17
41
    if ( scalar @keys == 0 ) {
463
15
21
        return $cmd;
461
17
37
17
19
98
33
    my @keys = grep {/^(DOMAIN|NAMESERVER|DNSZONE)(\d*)$/imsx} keys %{$cmd};
462
17
32
    if ( scalar @keys == 0 ) {
463
15
24
        return $cmd;
464    }
465
2
3
    my @toconvert = ();
466
2
3
    my @idxs      = ();
467
2
3
    foreach my $key (@keys) {
468
5
6
        my $val = $cmd->{$key};
469
5
9
        if ( $val =~ /[^[:lower:]\d. -]/imsx ) {
469
5
11
        if ( $val =~ /[^[:lower:]\d. -]/imsx ) {
470
1
2
            push @toconvert, $val;
471
1
2
            push @idxs,      $key;
472        }
473    }
474
2
5
    if ( scalar @toconvert == 0 ) {
475
1
2
        return $cmd;
474
2
4
    if ( scalar @toconvert == 0 ) {
475
1
3
        return $cmd;
476    }
477
1
5
    my $r = $self->request(
477
1
6
    my $r = $self->request(
478        {   COMMAND => 'ConvertIDN',
479            DOMAIN  => \@toconvert
480        }
481    );
482
1
4
    if ( $r->isSuccess() ) {
483
1
2
        my $col = $r->getColumn('ACE');
484
1
2
        if ($col) {
483
1
3
        my $col = $r->getColumn('ACE');
484
1
4
        if ($col) {
485
1
3
            my $data = $col->getData();
486
1
2
            my $idx  = 0;
487
1
1
1
2
            foreach my $pc ( @{$data} ) {
488
1
2
                $cmd->{ $idxs[ $idx ] } = $pc;
486
1
1
            my $idx  = 0;
487
1
1
2
4
            foreach my $pc ( @{$data} ) {
488
1
3
                $cmd->{ $idxs[ $idx ] } = $pc;
489
1
2
                $idx++;
490            }
491        }
- - - - + + + + - - - - - - + + + + + + - - + + - + - - - + + + - + - - - + + +
linestmtbrancondsubpodtimecode
1package WebService::Hexonet::Connector::Column;
2
3
1
1
6
1
use 5.030;
4
1
1
1
2
0
8
use strict;
5
1
1
1
2
1
123
use warnings;
6
7our $VERSION = 'v2.10.3';
2
3
1
1
6
2
use 5.030;
4
1
1
1
2
3
11
use strict;
5
1
1
1
2
1
130
use warnings;
6
7our $VERSION = 'v2.10.4';
8
9
10sub new {
11
161
1
1462
    my ( $class, $key, @data ) = @_;
12
161
133
    my $self = {};
13
161
173
    $self->{key} = $key;
14
161
161
124
430
    @{ $self->{data} } = @data;
15
161
140
    $self->{length} = scalar @data;
16
161
271
    return bless $self, $class;
11
161
1
1528
    my ( $class, $key, @data ) = @_;
12
161
143
    my $self = {};
13
161
166
    $self->{key} = $key;
14
161
161
119
473
    @{ $self->{data} } = @data;
15
161
152
    $self->{length} = scalar @data;
16
161
266
    return bless $self, $class;
17}
18
19
20sub getKey {
21
1
1
331
    my $self = shift;
22
1
3
    return $self->{key};
21
1
1
345
    my $self = shift;
22
1
4
    return $self->{key};
23}
24
25
26sub getData {
27
3
1
4
    my $self = shift;
28
3
5
    return $self->{data};
28
3
6
    return $self->{data};
29}
30
31
32sub getDataByIndex {
33
25250
1
19002
    my $self = shift;
34
25250
17206
    my $idx  = shift;
35
25250
20745
    return $self->{data}[ $idx ]
33
25604
1
17068
    my $self = shift;
34
25604
16444
    my $idx  = shift;
35
25604
21010
    return $self->{data}[ $idx ]
36        if $self->hasDataIndex($idx);
37
20831
18795
    return;
37
21126
17546
    return;
38}
39
40
41sub hasDataIndex {
42
25250
1
17680
    my $self = shift;
43
25250
16200
    my $idx  = shift;
44
25250
28269
    return $idx < $self->{length};
42
25604
1
17497
    my $self = shift;
43
25604
16434
    my $idx  = shift;
44
25604
27354
    return $idx < $self->{length};
45}
46
471;
48
diff --git a/cover_db/blib-lib-WebService-Hexonet-Connector-Logger-pm.html b/cover_db/blib-lib-WebService-Hexonet-Connector-Logger-pm.html index 46f2c84..e9d5263 100644 --- a/cover_db/blib-lib-WebService-Hexonet-Connector-Logger-pm.html +++ b/cover_db/blib-lib-WebService-Hexonet-Connector-Logger-pm.html @@ -26,28 +26,28 @@

File Coverage

- - - - - + + + + + - - + + - + - - - + + + - +
linestmtbrancondsubpodtimecode
1package WebService::Hexonet::Connector::Logger;
2
3
1
1
8
1
use 5.030;
4
1
1
1
2
1
8
use strict;
5
1
1
1
2
1
19
use warnings;
6
1
1
1
252
3454
121
use Data::Dumper;
7
8our $VERSION = 'v2.10.3';
2
3
1
1
10
2
use 5.030;
4
1
1
1
2
1
12
use strict;
5
1
1
1
2
0
23
use warnings;
6
1
1
1
254
3764
124
use Data::Dumper;
7
8our $VERSION = 'v2.10.4';
9
10
11sub new {
12
4
1
5
    my ($class) = @_;
13
4
10
    return bless {}, $class;
12
4
1
4
    my ($class) = @_;
13
4
12
    return bless {}, $class;
14}
15
16
17sub log {
18
2
1
4
    my ( $self, $post, $r, $error ) = @_;
19
2
5
    if ( defined $error ) {
19
2
6
    if ( defined $error ) {
20
0
0
0
0
        print {*STDERR} Dumper($post);
21
0
0
0
0
        print {*STDERR} 'HTTP communication failed: ' . $error;
22
0
0
0
0
        print {*STDERR} Dumper( $r->getCommandPlain() );
23
0
0
0
0
        print {*STDERR} Dumper( $r->getPlain() );
24    } else {
25
2
2
2
9
        print {*STDOUT} Dumper($post);
26
2
2
405
7
        print {*STDOUT} Dumper( $r->getCommandPlain() );
27
2
2
52
9
        print {*STDOUT} Dumper( $r->getPlain() );
25
2
2
3
14
        print {*STDOUT} Dumper($post);
26
2
2
551
10
        print {*STDOUT} Dumper( $r->getCommandPlain() );
27
2
2
57
11
        print {*STDOUT} Dumper( $r->getPlain() );
28    }
29
2
46
    return $self->{data};
29
2
50
    return $self->{data};
30}
31
321;
33
diff --git a/cover_db/blib-lib-WebService-Hexonet-Connector-Record-pm.html b/cover_db/blib-lib-WebService-Hexonet-Connector-Record-pm.html index 0c892af..77c831a 100644 --- a/cover_db/blib-lib-WebService-Hexonet-Connector-Record-pm.html +++ b/cover_db/blib-lib-WebService-Hexonet-Connector-Record-pm.html @@ -27,28 +27,28 @@

File Coverage

linestmtbrancondsubpodtimecode 1package WebService::Hexonet::Connector::Record; 23
1
1
1
7
1
use 5.030; -4
1
1
1
1
2
1
7
use strict; -5
1
1
1
1
2
1
80
use warnings; -67our $VERSION = 'v2.10.3'; +4
1
1
1
1
2
1
8
use strict; +5
1
1
1
1
2
0
97
use warnings; +67our $VERSION = 'v2.10.4'; 8910sub new { -11
4205
4205
1
3868
    my ( $class, $data ) = @_; -12
4205
5216
    return bless { data => $data }, $class; +11
4264
4264
1
3450
    my ( $class, $data ) = @_; +12
4264
5153
    return bless { data => $data }, $class; 13} 141516sub getData { -17
6
6
1
288
    my $self = shift; -18
6
16
    return $self->{data}; +17
6
6
1
292
    my $self = shift; +18
6
18
    return $self->{data}; 19} 202122sub getDataByKey { -23
3
3
1
485
    my $self = shift; -24
3
5
    my $key  = shift; -25
3
100
5
    return $self->{data}->{$key} +23
3
3
1
564
    my $self = shift; +24
3
4
    my $key  = shift; +25
3
100
8
    return $self->{data}->{$key} 26        if $self->hasData($key); -27
1
2
    return; +27
1
3
    return; 28} 293031sub hasData { -32
3
3
1
3
    my $self = shift; +32
3
3
1
5
    my $self = shift; 33
3
5
    my $key  = shift; -34
3
12
    return defined $self->{data}->{$key}; +34
3
15
    return defined $self->{data}->{$key}; 35} 36371; 38 diff --git a/cover_db/blib-lib-WebService-Hexonet-Connector-Response-pm.html b/cover_db/blib-lib-WebService-Hexonet-Connector-Response-pm.html index d4e70d1..7ae043e 100644 --- a/cover_db/blib-lib-WebService-Hexonet-Connector-Response-pm.html +++ b/cover_db/blib-lib-WebService-Hexonet-Connector-Response-pm.html @@ -26,160 +26,160 @@

File Coverage

- - - - - - - - - + + + + + + + + + - + - - + + - - - + + + - - + + - + - + - - - + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - + - + - - - - + + + + - - - + + + - - - - + + + + - + - + - - + + - + - - + + - - - + + + - + - - + + - - + + - + - + - - - - - - + + + + + + - - + + - - - - - - + + + + + + - - + + - + @@ -187,7 +187,7 @@

File Coverage

- + @@ -197,33 +197,33 @@

File Coverage

- - + + - + - - - - + + + + - - + + - - - - + + + + - + @@ -235,110 +235,110 @@

File Coverage

- + - - + + - + - - - + + + - - + + - + - - - + + + - + - - - + + + - - - - - - + + + + + + - + - - - - - - + + + + + + - + - - + + - - + + - + - - + + - + - + - - + + - - - + + + - - - + + + - - - + + + - - + +
linestmtbrancondsubpodtimecode
1package WebService::Hexonet::Connector::Response;
2
3
1
1
9
2
use 5.030;
4
1
1
1
2
1
9
use strict;
5
1
1
1
1
1
20
use warnings;
6
1
1
1
281
2
14
use WebService::Hexonet::Connector::Column;
7
1
1
1
273
1
15
use WebService::Hexonet::Connector::Record;
8
1
1
1
147
125
3
use parent qw(WebService::Hexonet::Connector::ResponseTemplate);
9
1
1
1
23
1
3
use POSIX qw(ceil floor);
10
1
1
1
285
6101
3
use List::MoreUtils qw(first_index);
11
1
1
1
616
2
1040
use Readonly;
2
3
1
1
10
1
use 5.030;
4
1
1
1
2
0
10
use strict;
5
1
1
1
4
1
25
use warnings;
6
1
1
1
305
2
15
use WebService::Hexonet::Connector::Column;
7
1
1
1
301
1
16
use WebService::Hexonet::Connector::Record;
8
1
1
1
164
127
2
use parent qw(WebService::Hexonet::Connector::ResponseTemplate);
9
1
1
1
24
1
3
use POSIX qw(ceil floor);
10
1
1
1
285
6389
3
use List::MoreUtils qw(first_index);
11
1
1
1
632
1
1059
use Readonly;
12Readonly my $INDEX_NOT_FOUND => -1;
13
14our $VERSION = 'v2.10.3';
13
14our $VERSION = 'v2.10.4';
15
16
17sub new {
18
50
1
15247
    my ( $class, $raw, $cmd, $ph ) = @_;
19
50
121
    my $self = WebService::Hexonet::Connector::ResponseTemplate->new($raw);
18
50
1
16533
    my ( $class, $raw, $cmd, $ph ) = @_;
19
50
162
    my $self = WebService::Hexonet::Connector::ResponseTemplate->new($raw);
20    # care about getting placeholder variables replaced
21
50
120
    if ( $self->{raw} =~ /[{][[:upper:]_]+[}]/gsmx ) {
22
4
4
        if ( !defined $ph ) {
23
3
4
            $ph = {};
21
50
134
    if ( $self->{raw} =~ /[{][[:upper:]_]+[}]/gsmx ) {
22
4
5
        if ( !defined $ph ) {
23
3
3
            $ph = {};
24        }
25
4
4
4
6
        foreach my $key ( keys %{$ph} ) {
26
1
1
            my $find    = "[{]${key}[}]";
25
4
4
4
5
        foreach my $key ( keys %{$ph} ) {
26
1
2
            my $find    = "[{]${key}[}]";
27
1
2
            my $replace = $ph->{$key};
28
1
15
            $self->{raw} =~ s/$find/$replace/gsmx;
28
1
31
            $self->{raw} =~ s/$find/$replace/gsmx;
29        }
30
4
9
        $self->{raw} =~ s/[{][[:upper:]_]+[}]//gsmx;
30
4
10
        $self->{raw} =~ s/[{][[:upper:]_]+[}]//gsmx;
31
4
6
        $self = WebService::Hexonet::Connector::ResponseTemplate->new( $self->{raw} );
32    }
33
50
61
    $self = bless $self, $class;
34
50
61
    $self->{command} = $cmd;
35
50
82
    if ( defined $self->{command}->{PASSWORD} ) {
33
50
67
    $self = bless $self, $class;
34
50
89
    $self->{command} = $cmd;
35
50
95
    if ( defined $self->{command}->{PASSWORD} ) {
36        # make password no longer accessible
37
1
2
        $self->{command}->{PASSWORD} = '***';
38    }
39
50
73
    $self->{columnkeys}  = [];
40
50
61
    $self->{columns}     = [];
41
50
53
    $self->{records}     = [];
42
50
56
    $self->{recordIndex} = 0;
43
44
50
80
    my $h = $self->getHash();
45
50
71
    if ( defined $h->{PROPERTY} ) {
46
33
33
31
77
        my @keys  = keys %{ $h->{PROPERTY} };
47
33
42
        my $count = 0;
48
33
39
        foreach my $key (@keys) {
49
160
160
117
441
            my @d = @{ $h->{PROPERTY}->{$key} };
50
160
214
            $self->addColumn( $key, @d );
51
160
122
            my $len = scalar @d;
52
160
193
            if ( $len > $count ) {
53
55
119
                $count = $len;
39
50
84
    $self->{columnkeys}  = [];
40
50
72
    $self->{columns}     = [];
41
50
135
    $self->{records}     = [];
42
50
75
    $self->{recordIndex} = 0;
43
44
50
101
    my $h = $self->getHash();
45
50
96
    if ( defined $h->{PROPERTY} ) {
46
33
33
34
86
        my @keys  = keys %{ $h->{PROPERTY} };
47
33
47
        my $count = 0;
48
33
48
        foreach my $key (@keys) {
49
160
160
110
445
            my @d = @{ $h->{PROPERTY}->{$key} };
50
160
225
            $self->addColumn( $key, @d );
51
160
106
            my $len = scalar @d;
52
160
185
            if ( $len > $count ) {
53
51
136
                $count = $len;
54            }
55        }
56
33
25
        $count--;
57
33
60
        for my $i ( 0 .. $count ) {
58
4204
3055
            my %d = ();
59
4204
3184
            foreach my $colkey (@keys) {
60
25167
21701
                my $col = $self->getColumn($colkey);
61
25167
22667
                if ( defined $col ) {
62
25167
24394
                    my $v = $col->getDataByIndex($i);
63
25167
27085
                    if ( defined $v ) {
64
4336
4820
                        $d{$colkey} = $v;
56
33
37
        $count--;
57
33
61
        for my $i ( 0 .. $count ) {
58
4263
2781
            my %d = ();
59
4263
3090
            foreach my $colkey (@keys) {
60
25521
20691
                my $col = $self->getColumn($colkey);
61
25521
22611
                if ( defined $col ) {
62
25521
22751
                    my $v = $col->getDataByIndex($i);
63
25521
24166
                    if ( defined $v ) {
64
4395
4505
                        $d{$colkey} = $v;
65                    }
66                }
67            }
68
4204
3865
            $self->addRecord( \%d );
68
4263
3878
            $self->addRecord( \%d );
69        }
70    }
71
50
343
    return $self;
71
50
446
    return $self;
72}
73
74
75sub addColumn {
76
160
1
422
    my ( $self, $key, @data ) = @_;
77
160
160
104
261
    push @{ $self->{columns} },    WebService::Hexonet::Connector::Column->new( $key, @data );
78
160
160
127
158
    push @{ $self->{columnkeys} }, $key;
79
160
198
    return $self;
76
160
1
467
    my ( $self, $key, @data ) = @_;
77
160
160
116
292
    push @{ $self->{columns} },    WebService::Hexonet::Connector::Column->new( $key, @data );
78
160
160
132
171
    push @{ $self->{columnkeys} }, $key;
79
160
225
    return $self;
80}
81
82
83sub addRecord {
84
4204
1
3421
    my ( $self, $h ) = @_;
85
4204
4204
3100
4497
    push @{ $self->{records} }, WebService::Hexonet::Connector::Record->new($h);
86
4204
4252
    return $self;
84
4263
1
3295
    my ( $self, $h ) = @_;
85
4263
4263
2826
4382
    push @{ $self->{records} }, WebService::Hexonet::Connector::Record->new($h);
86
4263
3803
    return $self;
87}
88
89
90sub getColumn {
91
25270
1
21943
    my ( $self, $key ) = @_;
92
25270
22838
    if ( $self->_hasColumn($key) ) {
93
25253
88317
25253
70652
61694
24635
        my $idx = first_index { $_ eq $key } @{ $self->{columnkeys} };
94
25253
29914
        return $self->{columns}[ $idx ];
91
25624
1
20698
    my ( $self, $key ) = @_;
92
25624
21234
    if ( $self->_hasColumn($key) ) {
93
25607
89546
25607
64035
62525
24739
        my $idx = first_index { $_ eq $key } @{ $self->{columnkeys} };
94
25607
29621
        return $self->{columns}[ $idx ];
95    }
96
17
50
    return;
96
17
48
    return;
97}
98
99
100sub getColumnIndex {
101
2
1
4
    my ( $self, $key, $idx ) = @_;
101
2
1
5
    my ( $self, $key, $idx ) = @_;
102
2
3
    my $col = $self->getColumn($key);
103
2
5
    return $col->getDataByIndex($idx) if defined $col;
104
1
1
    return;
105}
106
107
108sub getColumnKeys {
109
3
1
302
    my $self = shift;
110
3
3
4
5
    return \@{ $self->{columnkeys} };
109
3
1
336
    my $self = shift;
110
3
3
2
7
    return \@{ $self->{columnkeys} };
111}
112
113
114sub getColumns {
115
1
0
3
    my $self = shift;
116
1
1
1
1
    return \@{ $self->{columns} };
116
1
1
1
2
    return \@{ $self->{columns} };
117}
118
119
120sub getCommand {
121
9
1
24
    my $self = shift;
122
9
15
    return $self->{command};
121
9
1
28
    my $self = shift;
122
9
22
    return $self->{command};
123}
124
125
126sub getCommandPlain {
127
4
1
12
    my $self = shift;
128
4
4
    my $str  = q{};
129
4
4
3
15
    foreach my $key ( sort keys %{ $self->{command} } ) {
130
10
10
        my $val = $self->{command}->{$key};
128
4
5
    my $str  = q{};
129
4
4
7
15
    foreach my $key ( sort keys %{ $self->{command} } ) {
130
10
13
        my $val = $self->{command}->{$key};
131
10
14
        $str .= "${key} = ${val}\n";
132    }
133
4
10
    return $str;
133
4
9
    return $str;
134}
135
136
137sub getCurrentPageNumber {
138
19
1
20
    my $self  = shift;
139
19
17
    my $first = $self->getFirstRecordIndex();
138
19
1
19
    my $self  = shift;
139
19
20
    my $first = $self->getFirstRecordIndex();
140
19
22
    my $limit = $self->getRecordsLimitation();
141
19
32
    if ( defined $first && $limit > 0 ) {
142
14
28
        return floor( $first / $limit ) + 1;
141
19
35
    if ( defined $first && $limit > 0 ) {
142
14
31
        return floor( $first / $limit ) + 1;
143    }
144
5
5
    return $INDEX_NOT_FOUND;
145}
146
147
148sub getCurrentRecord {
149
2
1
5
    my $self = shift;
149
2
1
6
    my $self = shift;
150
2
3
    return $self->{records}[ $self->{recordIndex} ]
151        if $self->_hasCurrentRecord();
152
1
2
    return;
152
1
3
    return;
153}
154
155
156sub getFirstRecordIndex {
157
28
1
27
    my $self = shift;
158
28
29
    my $col  = $self->getColumn('FIRST');
159
28
33
    if ( defined $col ) {
160
21
25
        my $f = $col->getDataByIndex(0);
161
21
63
        if ( defined $f ) {
162
21
28
            return int $f;
157
28
1
28
    my $self = shift;
158
28
31
    my $col  = $self->getColumn('FIRST');
159
28
40
    if ( defined $col ) {
160
21
21
        my $f = $col->getDataByIndex(0);
161
21
26
        if ( defined $f ) {
162
21
34
            return int $f;
163        }
164    }
165
7
7
7
6
    my $len = scalar @{ $self->{records} };
166
7
13
    return 0 if ( $len > 0 );
165
7
7
7
8
    my $len = scalar @{ $self->{records} };
166
7
11
    return 0 if ( $len > 0 );
167
6
7
    return;
168}
169
170
171sub getLastRecordIndex {
172
9
1
12
    my $self = shift;
173
9
11
    my $col  = $self->getColumn('LAST');
174
9
13
    if ( defined $col ) {
175
7
10
        my $l = $col->getDataByIndex(0);
176
7
9
        if ( defined $l ) {
177
7
12
            return int $l;
172
9
1
14
    my $self = shift;
173
9
14
    my $col  = $self->getColumn('LAST');
174
9
14
    if ( defined $col ) {
175
7
11
        my $l = $col->getDataByIndex(0);
176
7
10
        if ( defined $l ) {
177
7
16
            return int $l;
178        }
179    }
180
2
3
    my $len = $self->getRecordsCount();
181
2
5
    if ( $len > 0 ) {
182
1
3
        return ( $len - 1 );
181
2
3
    if ( $len > 0 ) {
182
1
2
        return ( $len - 1 );
183    }
184
1
2
    return;
184
1
3
    return;
185}
186
187
188sub getListHash {
189
1
1
3
    my $self = shift;
191
1
1
1
2
    foreach my $rec ( @{ $self->getRecords() } ) {
192
2
3
        push @lh, $rec->getData();
193    }
194
1
2
    my $r = {
194
1
3
    my $r = {
195        LIST => \@lh,
196        meta => {
197            columns => $self->getColumnKeys(),
201
1
3
    return $r;
202}
203
204
205sub getNextRecord {
206
5
1
7
    my $self = shift;
207
5
8
    return $self->{records}[ ++$self->{recordIndex} ]
206
5
1
8
    my $self = shift;
207
5
7
    return $self->{records}[ ++$self->{recordIndex} ]
208        if ( $self->_hasNextRecord() );
209
2
4
    return;
209
2
5
    return;
210}
211
212
213sub getNextPageNumber {
214
5
1
7
    my $self = shift;
215
5
5
    my $cp   = $self->getCurrentPageNumber();
216
5
11
    if ( $cp < 0 ) {
217
1
1
        return $INDEX_NOT_FOUND;
214
5
1
6
    my $self = shift;
215
5
8
    my $cp   = $self->getCurrentPageNumber();
216
5
9
    if ( $cp < 0 ) {
217
1
2
        return $INDEX_NOT_FOUND;
218    }
219
4
5
    my $page  = $cp + 1;
220
4
4
    my $pages = $self->getNumberOfPages();
219
4
3
    my $page  = $cp + 1;
220
4
5
    my $pages = $self->getNumberOfPages();
221
4
9
    return $page if ( $page <= $pages );
222
0
0
    return $pages;
223}
224
225
226sub getNumberOfPages {
227
9
1
8
    my $self  = shift;
228
9
9
    my $t     = $self->getRecordsTotalCount();
229
9
8
    my $limit = $self->getRecordsLimitation();
230
9
16
    if ( $t > 0 && $limit > 0 ) {
231
8
14
        return ceil( $t / $limit );
228
9
11
    my $t     = $self->getRecordsTotalCount();
229
9
9
    my $limit = $self->getRecordsLimitation();
230
9
20
    if ( $t > 0 && $limit > 0 ) {
231
8
19
        return ceil( $t / $limit );
232    }
233
1
3
    return 0;
234}
235
236
237sub getPagination {
238
3
1
276
    my $self = shift;
238
3
1
302
    my $self = shift;
239
3
5
    my $r    = {
240        COUNT        => $self->getRecordsCount(),
241        CURRENTPAGE  => $self->getCurrentPageNumber(),
247        PREVIOUSPAGE => $self->getPreviousPageNumber(),
248        TOTAL        => $self->getRecordsTotalCount()
249    };
250
3
8
    return $r;
250
3
7
    return $r;
251}
252
253
254sub getPreviousPageNumber {
255
5
1
7
    my $self = shift;
256
5
6
    my $cp   = $self->getCurrentPageNumber();
255
5
1
6
    my $self = shift;
256
5
4
    my $cp   = $self->getCurrentPageNumber();
257
5
9
    if ( $cp < 0 ) {
258
1
1
        return $INDEX_NOT_FOUND;
258
1
2
        return $INDEX_NOT_FOUND;
259    }
260
4
5
    my $np = $cp - 1;
261
4
9
    return $np if ( $np > 0 );
262
4
4
    return $INDEX_NOT_FOUND;
260
4
4
    my $np = $cp - 1;
261
4
4
    return $np if ( $np > 0 );
262
4
6
    return $INDEX_NOT_FOUND;
263}
264
265
266sub getPreviousRecord {
267
4
1
6
    my $self = shift;
268
4
6
    return $self->{records}[ --$self->{recordIndex} ]
267
4
1
8
    my $self = shift;
268
4
7
    return $self->{records}[ --$self->{recordIndex} ]
269        if ( $self->_hasPreviousRecord() );
270
3
7
    return;
270
3
9
    return;
271}
272
273
274sub getRecord {
275
2
1
4
    my ( $self, $idx ) = @_;
276
2
8
    if ( $idx >= 0 && $self->getRecordsCount() > $idx ) {
277
2
7
        return $self->{records}[ $idx ];
275
2
1
6
    my ( $self, $idx ) = @_;
276
2
10
    if ( $idx >= 0 && $self->getRecordsCount() > $idx ) {
277
2
13
        return $self->{records}[ $idx ];
278    }
279
0
0
    return;
280}
281
282
283sub getRecords {
284
1
1
2
    my $self = shift;
285
1
1
1
2
    return \@{ $self->{records} };
285
1
1
1
3
    return \@{ $self->{records} };
286}
287
288
289sub getRecordsCount {
290
18
1
20
    my $self = shift;
291
18
18
15
14
    my $len  = scalar @{ $self->{records} };
292
18
33
    return $len;
290
18
1
17
    my $self = shift;
291
18
18
14
27
    my $len  = scalar @{ $self->{records} };
292
18
81
    return $len;
293}
294
295
296sub getRecordsTotalCount {
297
19
1
25
    my $self = shift;
298
19
24
    my $col  = $self->getColumn('TOTAL');
299
19
21
    if ( defined $col ) {
300
18
23
        my $t = $col->getDataByIndex(0);
301
18
27
        if ( defined $t ) {
302
18
36
            return int $t;
297
19
1
24
    my $self = shift;
298
19
26
    my $col  = $self->getColumn('TOTAL');
299
19
33
    if ( defined $col ) {
300
18
21
        my $t = $col->getDataByIndex(0);
301
18
25
        if ( defined $t ) {
302
18
37
            return int $t;
303        }
304    }
305
1
2
    return $self->getRecordsCount();
305
1
4
    return $self->getRecordsCount();
306}
307
308
309sub getRecordsLimitation {
310
42
1
39
    my $self = shift;
311
42
49
    my $col  = $self->getColumn('LIMIT');
312
42
50
    if ( defined $col ) {
313
36
50
        my $l = $col->getDataByIndex(0);
314
36
39
        if ( defined $l ) {
315
36
41
            return int $l;
310
42
1
38
    my $self = shift;
311
42
44
    my $col  = $self->getColumn('LIMIT');
312
42
49
    if ( defined $col ) {
313
36
41
        my $l = $col->getDataByIndex(0);
314
36
45
        if ( defined $l ) {
315
36
53
            return int $l;
316        }
317    }
318
6
7
    return $self->getRecordsCount();
319}
320
321
322sub hasNextPage {
323
2
1
5
    my $self = shift;
323
2
1
6
    my $self = shift;
324
2
3
    my $cp   = $self->getCurrentPageNumber();
325
2
7
    if ( $cp < 0 ) {
326
1
2
        return 0;
325
2
6
    if ( $cp < 0 ) {
326
1
3
        return 0;
327    }
328
1
1
    my $np = $cp + 1;
329
1
2
    if ( $np <= $self->getNumberOfPages() ) {
330
1
2
        return 1;
329
1
3
    if ( $np <= $self->getNumberOfPages() ) {
330
1
3
        return 1;
331    }
332
0
0
    return 0;
333}
334
335
336sub hasPreviousPage {
337
2
1
5
    my $self = shift;
337
2
1
6
    my $self = shift;
338
2
3
    my $cp   = $self->getCurrentPageNumber();
339
2
7
    if ( $cp < 0 ) {
340
1
2
        return 0;
339
2
6
    if ( $cp < 0 ) {
340
1
4
        return 0;
341    }
342
1
1
    my $pp = $cp - 1;
343
1
2
    if ( $pp > 0 ) {
343
1
3
    if ( $pp > 0 ) {
344
0
0
        return 1;
345    }
346
1
3
    return 0;
346
1
2
    return 0;
347}
348
349
350sub rewindRecordList {
351
1
1
1
    my $self = shift;
352
1
2
    $self->{recordIndex} = 0;
353
1
1
    return $self;
352
1
1
    $self->{recordIndex} = 0;
353
1
2
    return $self;
354}
355
356
357sub _hasColumn {
358
25270
20234
    my ( $self, $key ) = @_;
359
25270
88325
25270
27214
62609
26812
    my $idx = first_index { $_ eq $key } @{ $self->{columnkeys} };
360
25270
30911
    return ( $idx > $INDEX_NOT_FOUND );
358
25624
20084
    my ( $self, $key ) = @_;
359
25624
89554
25624
25245
61180
24886
    my $idx = first_index { $_ eq $key } @{ $self->{columnkeys} };
360
25624
29537
    return ( $idx > $INDEX_NOT_FOUND );
361}
362
363
364sub _hasCurrentRecord {
365
8
4
    my $self = shift;
366
8
8
7
9
    my $len  = scalar @{ $self->{records} };
367
8
42
    return ( $len > 0 && $self->{recordIndex} >= 0 && $self->{recordIndex} < $len );
365
8
7
    my $self = shift;
366
8
8
5
9
    my $len  = scalar @{ $self->{records} };
367
8
40
    return ( $len > 0 && $self->{recordIndex} >= 0 && $self->{recordIndex} < $len );
368}
369
370
371sub _hasNextRecord {
372
5
3
    my $self = shift;
373
5
6
    my $next = $self->{recordIndex} + 1;
374
5
5
4
5
    my $len  = scalar @{ $self->{records} };
372
5
5
    my $self = shift;
373
5
5
    my $next = $self->{recordIndex} + 1;
374
5
5
2
7
    my $len  = scalar @{ $self->{records} };
375
5
7
    return ( $self->_hasCurrentRecord() && $next < $len );
376}
377
378
379sub _hasPreviousRecord {
380
4
3
    my $self = shift;
381
4
9
    return ( $self->{recordIndex} > 0 && $self->_hasCurrentRecord() );
380
4
2
    my $self = shift;
381
4
8
    return ( $self->{recordIndex} > 0 && $self->_hasCurrentRecord() );
382}
383
3841;
385
diff --git a/cover_db/blib-lib-WebService-Hexonet-Connector-ResponseParser-pm.html b/cover_db/blib-lib-WebService-Hexonet-Connector-ResponseParser-pm.html index dde87cf..0437857 100644 --- a/cover_db/blib-lib-WebService-Hexonet-Connector-ResponseParser-pm.html +++ b/cover_db/blib-lib-WebService-Hexonet-Connector-ResponseParser-pm.html @@ -26,64 +26,64 @@

File Coverage

- - - - + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - + + + + - + - + - + - - - - - - - + + + + + + + - + - + - + - + - + - +
linestmtbrancondsubpodtimecode
1package WebService::Hexonet::Connector::ResponseParser;
2
3
1
1
7
1
use 5.030;
4
1
1
1
2
1
7
use strict;
5
1
1
1
2
3
291
use warnings;
6
7our $VERSION = 'v2.10.3';
2
3
1
1
8
2
use 5.030;
4
1
1
1
2
0
13
use strict;
5
1
1
1
1
1
307
use warnings;
6
7our $VERSION = 'v2.10.4';
8
9
10sub parse {
11
112
1
101
    my $response = shift;
12
112
99
    my %hash     = ();
13
112
292
    $response =~ s/\r\n/\n/gmsx;
14
112
733
    foreach ( split /\n/msx, $response ) {
15
5047
7068
        if (/^([^\=]*[^\t\= ])[\t ]*=[\t ]*(.+)/msx) {
16
4790
4381
            my $attr  = $1;
17
4790
4400
            my $value = $2;
18
4790
9596
            $value =~ s/[\t ]*$//msx;
19
4790
5848
            if ( $attr =~ /^property\[([^\]]*)\]/imsx ) {
20
4455
4366
                if ( !defined $hash{PROPERTY} ) {
21
50
61
                    $hash{PROPERTY} = {};
11
112
1
111
    my $response = shift;
12
112
104
    my %hash     = ();
13
112
277
    $response =~ s/\r\n/\n/gmsx;
14
112
670
    foreach ( split /\n/msx, $response ) {
15
5106
6932
        if (/^([^\=]*[^\t\= ])[\t ]*=[\t ]*(.+)/msx) {
16
4849
4032
            my $attr  = $1;
17
4849
3707
            my $value = $2;
18
4849
9533
            $value =~ s/[\t ]*$//msx;
19
4849
5290
            if ( $attr =~ /^property\[([^\]]*)\]/imsx ) {
20
4514
4220
                if ( !defined $hash{PROPERTY} ) {
21
50
76
                    $hash{PROPERTY} = {};
22                }
23
4455
4017
                my $prop = uc $1;
24
4455
3749
                $prop =~ s/\s//ogmsx;
25
4455
4167
                if ( defined $hash{PROPERTY}{$prop} ) {
26
4193
4193
2827
4617
                    push @{ $hash{PROPERTY}{$prop} }, $value;
23
4514
3792
                my $prop = uc $1;
24
4514
3433
                $prop =~ s/\s//ogmsx;
25
4514
3957
                if ( defined $hash{PROPERTY}{$prop} ) {
26
4252
4252
2797
4523
                    push @{ $hash{PROPERTY}{$prop} }, $value;
27                } else {
28
262
384
                    $hash{PROPERTY}{$prop} = [ $value ];
28
262
373
                    $hash{PROPERTY}{$prop} = [ $value ];
29                }
30            } else {
31
335
467
                $hash{ uc $attr } = $value;
31
335
455
                $hash{ uc $attr } = $value;
32            }
33        }
34    }
35
112
287
    return \%hash;
35
112
338
    return \%hash;
36}
37
38
39sub serialize {
40
6
1
25
    my $h     = shift;
41
6
4
    my $plain = '[RESPONSE]';
42
6
10
    if ( defined $h->{PROPERTY} ) {
43
3
3
        my $props = $h->{PROPERTY};
44
3
3
3
8
        foreach my $key ( sort keys %{$props} ) {
45
5
4
            my $i = 0;
46
5
5
4
6
            foreach my $val ( @{ $props->{$key} } ) {
40
6
1
27
    my $h     = shift;
41
6
7
    my $plain = '[RESPONSE]';
42
6
8
    if ( defined $h->{PROPERTY} ) {
43
3
4
        my $props = $h->{PROPERTY};
44
3
3
3
9
        foreach my $key ( sort keys %{$props} ) {
45
5
5
            my $i = 0;
46
5
5
5
5
            foreach my $val ( @{ $props->{$key} } ) {
47
11
13
                $plain .= "\r\nPROPERTY[${key}][${i}]=${val}";
48
11
12
                $i++;
48
11
9
                $i++;
49            }
50        }
51    }
52
6
8
    if ( defined $h->{CODE} ) {
52
6
10
    if ( defined $h->{CODE} ) {
53
5
6
        $plain .= "\r\nCODE=" . $h->{CODE};
54    }
55
6
9
    if ( defined $h->{DESCRIPTION} ) {
55
6
7
    if ( defined $h->{DESCRIPTION} ) {
56
5
5
        $plain .= "\r\nDESCRIPTION=" . $h->{DESCRIPTION};
57    }
58
6
6
    if ( defined $h->{QUEUETIME} ) {
58
6
9
    if ( defined $h->{QUEUETIME} ) {
59
1
1
        $plain .= "\r\nQUEUETIME=" . $h->{QUEUETIME};
60    }
61
6
7
    if ( defined $h->{RUNTIME} ) {
61
6
8
    if ( defined $h->{RUNTIME} ) {
62
1
2
        $plain .= "\r\nRUNTIME=" . $h->{RUNTIME};
63    }
64
6
6
    $plain .= "\r\nEOF\r\n";
65
6
7
    return $plain;
65
6
8
    return $plain;
66}
67
681;
69
diff --git a/cover_db/blib-lib-WebService-Hexonet-Connector-ResponseTemplate-pm.html b/cover_db/blib-lib-WebService-Hexonet-Connector-ResponseTemplate-pm.html index a76d463..4406418 100644 --- a/cover_db/blib-lib-WebService-Hexonet-Connector-ResponseTemplate-pm.html +++ b/cover_db/blib-lib-WebService-Hexonet-Connector-ResponseTemplate-pm.html @@ -26,75 +26,75 @@

File Coverage

- - - - - - + + + + + + - - - - + + + + - - - + + + - + - - + + - - + + - + - - + + - + - + - + - + - + - - - + + + - - - + + + - - + + diff --git a/cover_db/blib-lib-WebService-Hexonet-Connector-ResponseTemplateManager-pm.html b/cover_db/blib-lib-WebService-Hexonet-Connector-ResponseTemplateManager-pm.html index 958d2ab..1e2c8a6 100644 --- a/cover_db/blib-lib-WebService-Hexonet-Connector-ResponseTemplateManager-pm.html +++ b/cover_db/blib-lib-WebService-Hexonet-Connector-ResponseTemplateManager-pm.html @@ -26,70 +26,70 @@

File Coverage

linestmtbrancondsubpodtimecode
1package WebService::Hexonet::Connector::ResponseTemplate;
2
3
1
1
321
2
use 5.030;
4
1
1
1
3
1
15
use strict;
5
1
1
1
2
1
16
use warnings;
6
1
1
1
279
2
15
use WebService::Hexonet::Connector::ResponseParser;
7
1
1
1
298
2
261
use WebService::Hexonet::Connector::ResponseTemplateManager;
8
9our $VERSION = 'v2.10.3';
2
3
1
1
350
2
use 5.030;
4
1
1
1
2
1
9
use strict;
5
1
1
1
1
6
22
use warnings;
6
1
1
1
342
2
19
use WebService::Hexonet::Connector::ResponseParser;
7
1
1
1
328
2
237
use WebService::Hexonet::Connector::ResponseTemplateManager;
8
9our $VERSION = 'v2.10.4';
10
11my $rtm = WebService::Hexonet::Connector::ResponseTemplateManager->getInstance();
12
13
14sub new {
15
110
1
2959
    my ( $class, $raw ) = @_;
16
110
106
    my $self = {};
17
110
269
    if ( !defined $raw || length $raw == 0 ) {
18
11
11
        $raw = "[RESPONSE]\r\nCODE=423\r\nDESCRIPTION=Empty API response. Probably unreachable API end point {CONNECTION_URL}\r\nEOF\r\n";
15
110
1
3081
    my ( $class, $raw ) = @_;
16
110
112
    my $self = {};
17
110
303
    if ( !defined $raw || length $raw == 0 ) {
18
11
12
        $raw = "[RESPONSE]\r\nCODE=423\r\nDESCRIPTION=Empty API response. Probably unreachable API end point {CONNECTION_URL}\r\nEOF\r\n";
19    }
20
110
129
    $self->{raw}  = $raw;
21
110
155
    $self->{hash} = WebService::Hexonet::Connector::ResponseParser::parse($raw);
22
110
245
    if ( !defined $self->{hash}->{'DESCRIPTION'} || !defined $self->{hash}->{'CODE'} ) {
20
110
130
    $self->{raw}  = $raw;
21
110
170
    $self->{hash} = WebService::Hexonet::Connector::ResponseParser::parse($raw);
22
110
249
    if ( !defined $self->{hash}->{'DESCRIPTION'} || !defined $self->{hash}->{'CODE'} ) {
23
1
2
        $self->{raw}  = $rtm->getTemplate('invalid')->getPlain();
24
1
3
        $self->{hash} = WebService::Hexonet::Connector::ResponseParser::parse( $self->{raw} );
25    }
26
110
217
    return bless $self, $class;
26
110
246
    return bless $self, $class;
27}
28
29
30sub getCode {
31
3
1
7
    my $self = shift;
32
3
7
    return ( $self->{hash}->{CODE} + 0 );
33}
34
35
36sub getDescription {
37
7
1
16
    my $self = shift;
38
7
17
    return $self->{hash}->{DESCRIPTION};
37
7
1
12
    my $self = shift;
38
7
21
    return $self->{hash}->{DESCRIPTION};
39}
40
41
42sub getPlain {
43
32
1
65
    my $self = shift;
44
32
65
    return $self->{raw};
43
32
1
69
    my $self = shift;
44
32
91
    return $self->{raw};
45}
46
47
48sub getQueuetime {
49
2
1
5
    my $self = shift;
50
2
3
    if ( defined $self->{hash}->{QUEUETIME} ) {
50
2
5
    if ( defined $self->{hash}->{QUEUETIME} ) {
51
1
3
        return ( $self->{hash}->{QUEUETIME} + 0.00 );
52    }
53
1
3
    return 0.00;
54}
55
56
57sub getHash {
58
62
1
70
    my $self = shift;
59
62
83
    return $self->{hash};
58
62
1
75
    my $self = shift;
59
62
93
    return $self->{hash};
60}
61
62
63sub getRuntime {
64
2
1
5
    my $self = shift;
64
2
1
7
    my $self = shift;
65
2
3
    if ( defined $self->{hash}->{RUNTIME} ) {
66
1
5
        return ( $self->{hash}->{RUNTIME} + 0.00 );
66
1
4
        return ( $self->{hash}->{RUNTIME} + 0.00 );
67    }
68
1
18
    return 0.00;
68
1
2
    return 0.00;
69}
70
71
72sub isError {
73
2
1
1440
    my $self  = shift;
73
2
1
1721
    my $self  = shift;
74
2
5
    my $first = substr $self->{hash}->{CODE}, 0, 1;
75
2
6
    return ( $first eq '5' );
75
2
7
    return ( $first eq '5' );
76}
77
78
79sub isSuccess {
80
18
1
5547
    my $self  = shift;
81
18
42
    my $first = substr $self->{hash}->{CODE}, 0, 1;
82
18
85
    return ( $first eq '2' );
80
18
1
6755
    my $self  = shift;
81
18
54
    my $first = substr $self->{hash}->{CODE}, 0, 1;
82
18
63
    return ( $first eq '2' );
83}
84
85
86sub isTmpError {
87
1
1
616
    my $self  = shift;
88
1
3
    my $first = substr $self->{hash}->{CODE}, 0, 1;
89
1
3
    return ( $first eq '4' );
87
1
1
763
    my $self  = shift;
88
1
4
    my $first = substr $self->{hash}->{CODE}, 0, 1;
89
1
4
    return ( $first eq '4' );
90}
91
92
93sub isPending {
94
2
1
5
    my $self = shift;
95
2
13
    if ( defined $self->{hash}->{PENDING} ) {
94
2
1
27
    my $self = shift;
95
2
3
    if ( defined $self->{hash}->{PENDING} ) {
96
1
3
        return int( $self->{hash}->{PENDING} );
97    }
98
1
2
    return 0;
- + - + - - + + - - - - - - + + + + + + - + - + - + - - + + - - - + + + - + - - + + - + - + - - + + - + - + - - + + - + - - + + - - + +
linestmtbrancondsubpodtimecode
1package WebService::Hexonet::Connector::ResponseTemplateManager;
2
3
1
1
7
2
use 5.030;
2
3
1
1
8
1
use 5.030;
4
1
1
1
2
1
9
use strict;
5
1
1
1
2
1
15
use warnings;
5
1
1
1
2
1
23
use warnings;
6
1
1
1
2
1
14
use WebService::Hexonet::Connector::ResponseTemplate;
7
1
1
1
2
1
268
use WebService::Hexonet::Connector::ResponseParser;
8
9our $VERSION = 'v2.10.3';
7
1
1
1
1
1
274
use WebService::Hexonet::Connector::ResponseParser;
8
9our $VERSION = 'v2.10.4';
10
11my $instance = undef;
12
13
14sub getInstance {
15
3
1
8
    if ( !defined $instance ) {
16
1
1
        my $self = { templates => {} };
17
1
2
        $instance = bless $self, shift;
18
1
1
        $instance->addTemplate( '404',          $instance->generateTemplate( '421', 'Page not found' ) );
19
1
2
        $instance->addTemplate( '500',          $instance->generateTemplate( '500', 'Internal server error' ) );
20
1
1
        $instance->addTemplate( 'empty',        $instance->generateTemplate( '423', 'Empty API response. Probably unreachable API end point {CONNECTION_URL}' ) );
15
3
1
7
    if ( !defined $instance ) {
16
1
2
        my $self = { templates => {} };
17
1
1
        $instance = bless $self, shift;
18
1
2
        $instance->addTemplate( '404',          $instance->generateTemplate( '421', 'Page not found' ) );
19
1
1
        $instance->addTemplate( '500',          $instance->generateTemplate( '500', 'Internal server error' ) );
20
1
2
        $instance->addTemplate( 'empty',        $instance->generateTemplate( '423', 'Empty API response. Probably unreachable API end point {CONNECTION_URL}' ) );
21
1
1
        $instance->addTemplate( 'error',        $instance->generateTemplate( '421', 'Command failed due to server error. Client should try again' ) );
22
1
1
        $instance->addTemplate( 'expired',      $instance->generateTemplate( '530', 'SESSION NOT FOUND' ) );
23
1
2
        $instance->addTemplate( 'httperror',    $instance->generateTemplate( '421', 'Command failed due to HTTP communication error' ) );
23
1
1
        $instance->addTemplate( 'httperror',    $instance->generateTemplate( '421', 'Command failed due to HTTP communication error' ) );
24
1
1
        $instance->addTemplate( 'invalid',      $instance->generateTemplate( '423', 'Invalid API response. Contact Support' ) );
25
1
3
        $instance->addTemplate( 'unauthorized', $instance->generateTemplate( '530', 'Unauthorized' ) );
25
1
1
        $instance->addTemplate( 'unauthorized', $instance->generateTemplate( '530', 'Unauthorized' ) );
26    }
27
3
5
    return $instance;
27
3
3
    return $instance;
28}
29
30
31sub generateTemplate {
32
10
1
274
    my ( $self, $code, $description ) = @_;
33
10
16
    return "[RESPONSE]\r\nCODE=${code}\r\nDESCRIPTION=${description}\r\nEOF\r\n";
32
10
1
285
    my ( $self, $code, $description ) = @_;
33
10
18
    return "[RESPONSE]\r\nCODE=${code}\r\nDESCRIPTION=${description}\r\nEOF\r\n";
34}
35
36
37sub addTemplate {
38
10
1
10
    my ( $self, $id, $plain ) = @_;
39
10
12
    $self->{templates}->{$id} = $plain;
40
10
9
    return $instance;
38
10
1
9
    my ( $self, $id, $plain ) = @_;
39
10
14
    $self->{templates}->{$id} = $plain;
40
10
11
    return $instance;
41}
42
43
44sub getTemplate {
45
35
1
7642
    my ( $self, $id ) = @_;
45
35
1
7924
    my ( $self, $id ) = @_;
46
35
34
    my $plain;
47
35
47
    if ( $self->hasTemplate($id) ) {
48
34
37
        $plain = $self->{templates}->{$id};
47
35
49
    if ( $self->hasTemplate($id) ) {
48
34
38
        $plain = $self->{templates}->{$id};
49    } else {
50
1
1
        $plain = $self->generateTemplate( '500', 'Response Template not found' );
50
1
2
        $plain = $self->generateTemplate( '500', 'Response Template not found' );
51    }
52
35
53
    return WebService::Hexonet::Connector::ResponseTemplate->new($plain);
52
35
68
    return WebService::Hexonet::Connector::ResponseTemplate->new($plain);
53}
54
55
56sub getTemplates {
57
1
1
1
    my $self = shift;
58
1
2
    my $tmp  = {};
57
1
1
2
    my $self = shift;
58
1
1
    my $tmp  = {};
59
1
1
    my $tpls = $self->{templates};
60
1
1
1
3
    foreach my $key ( keys %{$tpls} ) {
60
1
1
2
3
    foreach my $key ( keys %{$tpls} ) {
61
10
13
        $tmp->{$key} = WebService::Hexonet::Connector::ResponseTemplate->new( $tpls->{$key} );
62    }
63
1
2
    return $tmp;
63
1
3
    return $tmp;
64}
65
66
67sub hasTemplate {
68
35
1
37
    my ( $self, $id ) = @_;
69
35
65
    return defined $self->{templates}->{$id};
68
35
1
35
    my ( $self, $id ) = @_;
69
35
61
    return defined $self->{templates}->{$id};
70}
71
72
73sub isTemplateMatchHash {
74
2
1
4
    my ( $self, $tpl2, $id ) = @_;
74
2
1
6
    my ( $self, $tpl2, $id ) = @_;
75
2
3
    my $tpl = $self->getTemplate($id);
76
2
4
    my $h   = $tpl->getHash();
77
2
9
    return ( $h->{CODE} eq $tpl2->{CODE} ) && ( $h->{DESCRIPTION} eq $tpl2->{DESCRIPTION} );
76
2
5
    my $h   = $tpl->getHash();
77
2
12
    return ( $h->{CODE} eq $tpl2->{CODE} ) && ( $h->{DESCRIPTION} eq $tpl2->{DESCRIPTION} );
78}
79
80
81sub isTemplateMatchPlain {
82
1
1
2
    my ( $self, $plain, $id ) = @_;
83
1
1
    my $h = WebService::Hexonet::Connector::ResponseParser::parse($plain);
84
1
2
    return $self->isTemplateMatchHash( $h, $id );
83
1
3
    my $h = WebService::Hexonet::Connector::ResponseParser::parse($plain);
84
1
1
    return $self->isTemplateMatchHash( $h, $id );
85}
86
871;
88
diff --git a/cover_db/blib-lib-WebService-Hexonet-Connector-SocketConfig-pm.html b/cover_db/blib-lib-WebService-Hexonet-Connector-SocketConfig-pm.html index 7ce3248..38a7f39 100644 --- a/cover_db/blib-lib-WebService-Hexonet-Connector-SocketConfig-pm.html +++ b/cover_db/blib-lib-WebService-Hexonet-Connector-SocketConfig-pm.html @@ -26,14 +26,14 @@

File Coverage

- - - - - + + + + + - - + + @@ -44,79 +44,79 @@

File Coverage

- - - - + + + + - - + + - - + + - - + + - - + + - - + + - + - + - - + + - + - - - + + + - - - - + + + + - - - + + + - - + + - - - - - - + + + + + + - - + + - - - + + +
linestmtbrancondsubpodtimecode
1package WebService::Hexonet::Connector::SocketConfig;
2
3
1
1
9
2
use 5.030;
4
1
1
1
2
1
10
use strict;
5
1
1
1
2
1
18
use warnings;
6
1
1
1
18
2
2
use utf8;
7
8our $VERSION = 'v2.10.3';
2
3
1
1
8
2
use 5.030;
4
1
1
1
2
1
8
use strict;
5
1
1
1
2
1
22
use warnings;
6
1
1
1
17
1
3
use utf8;
7
8our $VERSION = 'v2.10.4';
9
10
11sub new {
12
3
1
318
    my $class = shift;
13
3
18
    return bless {
12
3
1
338
    my $class = shift;
13
3
22
    return bless {
14        entity     => q{},
15        login      => q{},
16        otp        => q{},
21    }, $class;
22}
23
24
25sub getPOSTData {
26
53
1
52
    my $self = shift;
27
53
51
    my $data = {};
28
53
92
    if ( length $self->{entity} ) {
29
52
71
        $data->{'s_entity'} = $self->{entity};
26
53
1
51
    my $self = shift;
27
53
63
    my $data = {};
28
53
95
    if ( length $self->{entity} ) {
29
52
79
        $data->{'s_entity'} = $self->{entity};
30    }
31
53
76
    if ( length $self->{login} ) {
32
35
48
        $data->{'s_login'} = $self->{login};
31
53
78
    if ( length $self->{login} ) {
32
35
68
        $data->{'s_login'} = $self->{login};
33    }
34
53
74
    if ( length $self->{otp} ) {
35
1
1
        $data->{'s_otp'} = $self->{otp};
34
53
92
    if ( length $self->{otp} ) {
35
1
2
        $data->{'s_otp'} = $self->{otp};
36    }
37
53
64
    if ( length $self->{pw} ) {
38
35
39
        $data->{'s_pw'} = $self->{pw};
37
53
91
    if ( length $self->{pw} ) {
38
35
61
        $data->{'s_pw'} = $self->{pw};
39    }
40
53
82
    if ( length $self->{remoteaddr} ) {
41
37
40
        $data->{'s_remoteaddr'} = $self->{remoteaddr};
40
53
76
    if ( length $self->{remoteaddr} ) {
41
37
49
        $data->{'s_remoteaddr'} = $self->{remoteaddr};
42    }
43
53
65
    if ( length $self->{session} ) {
44
7
9
        $data->{'s_session'} = $self->{session};
43
53
71
    if ( length $self->{session} ) {
44
7
12
        $data->{'s_session'} = $self->{session};
45    }
46
53
66
    if ( length $self->{user} ) {
46
53
69
    if ( length $self->{user} ) {
47
2
4
        $data->{'s_user'} = $self->{user};
48    }
49
53
63
    return $data;
49
53
64
    return $data;
50}
51
52
53sub getSession {
54
3
1
4
    my $self = shift;
55
3
5
    return $self->{session};
54
3
1
3
    my $self = shift;
55
3
6
    return $self->{session};
56}
57
58
59sub getSystemEntity {
60
1
1
1
    my $self = shift;
60
1
1
2
    my $self = shift;
61
1
3
    return $self->{entity};
62}
63
64
65sub setLogin {
66
11
1
13
    my ( $self, $value ) = @_;
67
11
13
    $self->{session} = q{};      # Empty string
68
11
14
    $self->{login}   = $value;
66
11
1
19
    my ( $self, $value ) = @_;
67
11
16
    $self->{session} = q{};      # Empty string
68
11
12
    $self->{login}   = $value;
69
11
11
    return $self;
70}
71
72
73sub setOTP {
74
7
1
8
    my ( $self, $value ) = @_;
75
7
7
    $self->{session} = q{};      # Empty string
76
7
9
    $self->{otp}     = $value;
77
7
7
    return $self;
74
7
1
10
    my ( $self, $value ) = @_;
75
7
9
    $self->{session} = q{};      # Empty string
76
7
8
    $self->{otp}     = $value;
77
7
9
    return $self;
78}
79
80
81sub setPassword {
82
11
1
12
    my ( $self, $value ) = @_;
83
11
10
    $self->{session} = q{};      # Empty string
84
11
13
    $self->{pw}      = $value;
85
11
9
    return $self;
83
11
14
    $self->{session} = q{};      # Empty string
84
11
14
    $self->{pw}      = $value;
85
11
13
    return $self;
86}
87
88
89sub setRemoteAddress {
90
3
1
4
    my ( $self, $value ) = @_;
91
3
3
    $self->{remoteaddr} = $value;
90
3
1
3
    my ( $self, $value ) = @_;
91
3
2
    $self->{remoteaddr} = $value;
92
3
3
    return $self;
93}
94
95
96sub setSession {
97
12
1
15
    my ( $self, $value ) = @_;
98
12
14
    $self->{session} = $value;
99
12
13
    $self->{login}   = q{};      # Empty string
100
12
12
    $self->{pw}      = q{};      # Empty string
101
12
12
    $self->{otp}     = q{};      # Empty string
102
12
11
    return $self;
97
12
1
14
    my ( $self, $value ) = @_;
98
12
16
    $self->{session} = $value;
99
12
20
    $self->{login}   = q{};      # Empty string
100
12
13
    $self->{pw}      = q{};      # Empty string
101
12
14
    $self->{otp}     = q{};      # Empty string
102
12
13
    return $self;
103}
104
105
106sub setSystemEntity {
107
4
1
5
    my ( $self, $value ) = @_;
108
4
4
    $self->{entity} = $value;
107
4
1
6
    my ( $self, $value ) = @_;
108
4
5
    $self->{entity} = $value;
109
4
5
    return $self;
110}
111
112
113sub setUser {
114
2
1
3
    my ( $self, $value ) = @_;
115
2
5
    $self->{user} = $value;
116
2
3
    return $self;
114
2
1
4
    my ( $self, $value ) = @_;
115
2
4
    $self->{user} = $value;
116
2
5
    return $self;
117}
118
1191;
120
diff --git a/cover_db/blib-lib-WebService-Hexonet-Connector-pm.html b/cover_db/blib-lib-WebService-Hexonet-Connector-pm.html index 3fca440..2887fc5 100644 --- a/cover_db/blib-lib-WebService-Hexonet-Connector-pm.html +++ b/cover_db/blib-lib-WebService-Hexonet-Connector-pm.html @@ -26,18 +26,18 @@

File Coverage

- - - - - - + + + + + + - + - - - + + +
linestmtbrancondsubpodtimecode
1package WebService::Hexonet::Connector;
2
3
1
1
251961
4
use 5.030;
4
1
1
1
3
1
12
use strict;
5
1
1
1
1
1
25
use warnings;
6
1
1
1
364
1
22
use WebService::Hexonet::Connector::APIClient;
7
1
1
1
3
1
10
use WebService::Hexonet::Connector::Column;
8
1
1
1
2
1
7
use WebService::Hexonet::Connector::Record;
2
3
1
1
216488
4
use 5.030;
4
1
1
1
2
1
11
use strict;
5
1
1
1
3
1
37
use warnings;
6
1
1
1
364
2
23
use WebService::Hexonet::Connector::APIClient;
7
1
1
1
4
1
10
use WebService::Hexonet::Connector::Column;
8
1
1
1
2
1
9
use WebService::Hexonet::Connector::Record;
9
1
1
1
2
1
9
use WebService::Hexonet::Connector::Response;
10
1
1
1
2
1
8
use WebService::Hexonet::Connector::ResponseParser;
10
1
1
1
2
1
9
use WebService::Hexonet::Connector::ResponseParser;
11
1
1
1
1
1
8
use WebService::Hexonet::Connector::ResponseTemplate;
12
1
1
1
1
1
7
use WebService::Hexonet::Connector::ResponseTemplateManager;
13
1
1
1
2
1
18
use WebService::Hexonet::Connector::SocketConfig;
14
15our $VERSION = 'v2.10.3';
12
1
1
1
2
1
7
use WebService::Hexonet::Connector::ResponseTemplateManager;
13
1
1
1
2
1
22
use WebService::Hexonet::Connector::SocketConfig;
14
15our $VERSION = 'v2.10.4';
16
171;
18
diff --git a/cover_db/cover.14 b/cover_db/cover.14 index ecf4b84..292b469 100644 --- a/cover_db/cover.14 +++ b/cover_db/cover.14 @@ -1 +1 @@ -{"runs":{"1648049704.1247.43401":{"OS":"linux","dir":"/__w/perl-sdk/perl-sdk","digests":{"blib/lib/WebService/Hexonet/Connector/SocketConfig.pm":"d68b433477b6ac081644b281a59a1096","blib/lib/WebService/Hexonet/Connector/ResponseTemplateManager.pm":"2fd4e0f143b47facaafd83e4673a73af","blib/lib/WebService/Hexonet/Connector/Logger.pm":"a8b0b73cc7b84e841a11bba17d6fbbb2","blib/lib/WebService/Hexonet/Connector/APIClient.pm":"2be339104e710ca5ea8dbf70edc2012f","blib/lib/WebService/Hexonet/Connector.pm":"17052fc984b13fd6bcb17846c15d2bc2","t/Hexonet-connector.t":"7d903976efa17673bac7ea0af7789085","blib/lib/WebService/Hexonet/Connector/ResponseParser.pm":"069a57f70d5e9c8fd8c33c9d7b7cb383","blib/lib/WebService/Hexonet/Connector/Record.pm":"0eabf5a393a423c46b7daf427daa966d","blib/lib/WebService/Hexonet/Connector/Column.pm":"fd530d9a97d020c18e5788338d94a0e8","blib/lib/WebService/Hexonet/Connector/ResponseTemplate.pm":"d4af1ff521c4b4ee4cbc438831742f0c","blib/lib/WebService/Hexonet/Connector/Response.pm":"600045f5b41270a0d57a0cd0c7bb1f88"},"version":"v2.10.3","vec":{"blib/lib/WebService/Hexonet/Connector/Response.pm":{"pod":{"size":28,"vec":"¿ÿÿ\u000f"},"condition":{"size":18,"vec":"\tÊ\u0002"},"subroutine":{"size":43,"vec":"ÿÿÿÿÿ\u0007"},"branch":{"size":66,"vec":"óö{W\u0017Æ Ü\u0002"},"statement":{"vec":"ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿ÷ûÿ","size":231}},"blib/lib/WebService/Hexonet/Connector/ResponseTemplate.pm":{"statement":{"size":53,"vec":"ÿÿÿÿÿÿ\u001f"},"branch":{"vec":"ÿ\u0003","size":10},"subroutine":{"size":16,"vec":"ÿÿ"},"condition":{"vec":".","size":6},"pod":{"size":11,"vec":"ÿ\u0007"}},"blib/lib/WebService/Hexonet/Connector/ResponseParser.pm":{"subroutine":{"size":5,"vec":"\u001f"},"statement":{"vec":"ÿÿÿÿÿÿ","size":48},"branch":{"vec":"¶ÿ\u0003","size":18},"pod":{"size":2,"vec":"\u0003"}},"blib/lib/WebService/Hexonet/Connector/Record.pm":{"pod":{"size":4,"vec":"\u000f"},"statement":{"vec":"ÿÿ\u0007","size":19},"branch":{"size":2,"vec":"\u0002"},"subroutine":{"vec":"","size":7}},"blib/lib/WebService/Hexonet/Connector/Column.pm":{"branch":{"size":2,"vec":"\u0003"},"statement":{"size":26,"vec":"ÿÿÿ\u0003"},"subroutine":{"size":8,"vec":"ÿ"},"pod":{"size":5,"vec":"\u001f"}},"blib/lib/WebService/Hexonet/Connector/APIClient.pm":{"condition":{"vec":"h+","size":14},"pod":{"vec":"ùÿÿÿ\u0005","size":35},"branch":{"vec":"ìsÿW5èj]\u0017","size":70},"statement":{"size":303,"vec":"ÿÿÿÿÿÿÃÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿû{ÿÿÿÿÿÿÿÿÿÿ"},"subroutine":{"size":51,"vec":"ÿÿþÿÿÿ\u0007"}},"blib/lib/WebService/Hexonet/Connector.pm":{"statement":{"vec":"ÿÿÿÿ","size":32},"subroutine":{"size":11,"vec":"ÿ\u0007"}},"blib/lib/WebService/Hexonet/Connector/Logger.pm":{"pod":{"vec":"\u0003","size":2},"subroutine":{"vec":"?","size":6},"statement":{"size":30,"vec":"ÿ€?"},"branch":{"vec":"\u0000","size":2}},"blib/lib/WebService/Hexonet/Connector/ResponseTemplateManager.pm":{"pod":{"size":8,"vec":"ÿ"},"condition":{"size":3,"vec":"\u0000"},"subroutine":{"vec":"ÿ\u001f","size":13},"statement":{"size":53,"vec":"ÿÿÿÿÿÿ\u001f"},"branch":{"vec":"\t","size":4}},"blib/lib/WebService/Hexonet/Connector/SocketConfig.pm":{"subroutine":{"size":15,"vec":"ÿ"},"branch":{"vec":"V%","size":14},"statement":{"size":61,"vec":"ÿÿÿÿÿÿÿ\u001f"},"pod":{"size":11,"vec":"ÿ\u0007"}}},"abstract":"Connector library for the insanely fast L.","perl":"5.32.1","run":"t/Hexonet-connector.t","collected":["branch","condition","pod","statement","subroutine","time"],"count":{"blib/lib/WebService/Hexonet/Connector/ResponseTemplate.pm":{"statement":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,110,110,110,11,110,110,110,1,1,110,3,3,7,7,32,32,2,2,1,1,62,62,2,2,1,1,2,2,2,18,18,18,1,1,1,2,2,1,1],"branch":[[11.0,99],[1.0,109],[1.0,1],[1.0,1],[1.0,1]],"subroutine":[1,1,1,1,1,110,3,7,32,2,62,2,2,18,1,2],"time":[321,2,3,1,15,2,1,16,279,2,15,298,2,261,2959,106,269,11,129,155,245,2,3,217,7,7,16,17,65,65,5,3,3,3,70,83,5,3,5,18,1440,5,6,5547,42,85,616,3,3,5,13,3,2],"condition":[[6,5,99],[1,0,109]],"pod":[1,1,1,1,1,1,1,1,1,1,1]},"blib/lib/WebService/Hexonet/Connector/Record.pm":{"time":[7,1,2,1,7,2,1,80,3868,5216,288,16,485,5,5,2,3,5,12],"pod":[1,1,1,1],"statement":[1,1,1,1,1,1,1,1,4205,4205,6,6,3,3,3,1,3,3,3],"branch":[[2.0,1]],"subroutine":[1,1,1,4205,6,3,3]},"blib/lib/WebService/Hexonet/Connector/ResponseParser.pm":{"branch":[[50.0,4405],[4193,262],[4455,335],[4790.0,257],[3.0,3],[5.0,1],[5.0,1],[1.0,5],[1.0,5]],"statement":[1,1,1,1,1,1,1,1,112,112,112,112,5047,4790,4790,4790,4790,4455,50,4455,4455,4455,4193,4193,262,335,112,6,6,6,3,3,3,5,5,5,11,11,6,5,6,5,6,1,6,1,6,6],"subroutine":[1,1,1,112,6],"time":[7,1,2,1,7,2,3,291,101,99,292,733,7068,4381,4400,9596,5848,4366,61,4017,3749,4167,2827,4617,384,467,287,25,4,10,3,3,8,4,4,6,13,12,8,6,9,5,6,1,7,2,6,7],"pod":[1,1]},"blib/lib/WebService/Hexonet/Connector/Column.pm":{"subroutine":[1,1,1,161,1,3,25250,25250],"branch":[[4419.0,20831]],"statement":[1,1,1,1,1,1,1,1,161,161,161,161,161,161,161,1,1,3,3,25250,25250,25250,20831,25250,25250,25250],"pod":[1,1,1,1,1],"time":[6,1,2,0,8,2,1,123,1462,133,173,124,430,140,271,331,3,4,5,19002,17206,20745,18795,17680,16200,28269]},"blib/lib/WebService/Hexonet/Connector/Response.pm":{"subroutine":[1,1,1,1,1,1,1,1,1,50,160,4204,25270,88317,2,3,1,9,4,19,2,28,9,1,5,5,9,3,5,4,2,1,18,19,42,2,2,1,25270,88325,8,5,4],"statement":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,50,50,50,4,3,4,4,1,1,1,4,4,50,50,50,1,50,50,50,50,50,50,33,33,33,33,160,160,160,160,160,55,33,33,4204,4204,25167,25167,25167,25167,4336,4204,50,160,160,160,160,160,160,4204,4204,4204,4204,25270,25270,25253,88317,25253,25253,17,2,2,2,1,3,3,3,1,1,1,9,9,4,4,4,4,10,10,4,19,19,19,19,14,5,2,2,1,28,28,28,21,21,21,7,7,7,6,9,9,9,7,7,7,2,2,1,1,1,1,1,1,2,1,1,5,5,2,5,5,5,1,4,4,4,0,9,9,9,9,8,1,3,3,3,5,5,5,1,4,4,4,4,4,3,2,2,2,0,1,1,1,18,18,18,18,19,19,19,18,18,18,1,42,42,42,36,36,36,6,2,2,2,1,1,1,1,0,2,2,2,1,1,1,0,1,1,1,1,25270,25270,88325,25270,25270,8,8,8,8,5,5,5,5,5,4,4],"branch":[[3.0,1],[4.0,46],[1.0,49],[55.0,105],[4336.0,20831],[25167.0,0],[33.0,17],[25253.0,17],[1.0,1],[14.0,5],[1.0,1],[21.0,0],[21.0,7],[1.0,6],[7.0,0],[7.0,2],[1.0,1],[3.0,2],[1.0,4],[4.0,0],[8.0,1],[1.0,4],[0,4],[1.0,3],[2.0,0],[18.0,0],[18.0,1],[36.0,0],[36.0,6],[1.0,1],[1.0,0],[1.0,1],[0,1]],"pod":[1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"time":[9,2,2,1,9,1,1,20,281,2,14,273,1,15,147,125,3,23,1,3,285,6101,3,616,2,1040,15247,121,120,4,4,4,6,1,2,15,9,6,61,61,82,2,73,61,53,56,80,71,31,77,42,39,117,441,214,122,193,119,25,60,3055,3184,21701,22667,24394,27085,4820,3865,343,422,104,261,127,158,198,3421,3100,4497,4252,21943,22838,70652,61694,24635,29914,50,4,3,5,1,302,4,5,3,1,1,24,15,12,4,3,15,10,14,10,20,17,22,32,28,5,5,3,2,27,29,33,25,63,28,7,6,13,7,12,11,13,10,9,12,3,5,3,2,3,2,1,2,3,2,3,7,8,4,7,5,11,1,5,4,9,null,8,9,8,16,14,3,276,5,8,7,6,9,1,5,9,4,6,6,7,4,8,7,null,2,1,2,20,15,14,33,25,24,21,23,27,36,2,39,49,50,50,39,41,7,5,3,7,2,1,2,2,null,5,3,7,2,1,2,null,3,1,2,1,20234,27214,62609,26812,30911,4,7,9,42,3,6,4,5,7,3,9],"condition":[[5,0,14],[1,0,8],[0,0,2],[1,0,7],[0,2,3],[3,0,1]]},"blib/lib/WebService/Hexonet/Connector/Logger.pm":{"subroutine":[1,1,1,1,4,2],"statement":[1,1,1,1,1,1,1,1,1,1,1,4,4,2,2,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2],"branch":[[0,2]],"pod":[1,1],"time":[8,1,2,1,8,2,1,19,252,3454,121,5,10,4,5,null,null,null,null,null,null,null,null,2,9,405,7,52,9,46]},"blib/lib/WebService/Hexonet/Connector/ResponseTemplateManager.pm":{"subroutine":[1,1,1,1,1,3,10,10,35,1,35,2,1],"branch":[[1.0,2],[34,1]],"statement":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,3,10,10,10,10,10,35,35,35,34,1,35,1,1,1,1,1,10,1,35,35,2,2,2,2,1,1,1],"pod":[1,1,1,1,1,1,1,1],"condition":[[0,0,2]],"time":[7,2,2,1,9,2,1,15,2,1,14,2,1,268,8,1,2,1,2,1,1,1,2,1,3,5,274,16,10,12,9,7642,34,47,37,1,53,1,2,1,1,3,13,2,37,65,4,3,4,9,2,1,2]},"blib/lib/WebService/Hexonet/Connector/SocketConfig.pm":{"statement":[1,1,1,1,1,1,1,1,1,1,1,3,3,53,53,53,52,53,35,53,1,53,35,53,37,53,7,53,2,53,3,3,1,1,11,11,11,11,7,7,7,7,11,11,11,11,3,3,3,12,12,12,12,12,12,4,4,4,2,2,2],"branch":[[52.0,1],[35.0,18],[1.0,52],[35.0,18],[37.0,16],[7.0,46],[2.0,51]],"subroutine":[1,1,1,1,3,53,3,1,11,7,11,3,12,4,2],"time":[9,2,2,1,10,2,1,18,18,2,2,318,18,52,51,92,71,76,48,74,1,64,39,82,40,65,9,66,4,63,4,5,1,3,13,13,14,11,8,7,9,7,12,10,13,9,4,3,3,15,14,13,12,12,11,5,4,5,3,5,3],"pod":[1,1,1,1,1,1,1,1,1,1,1]},"blib/lib/WebService/Hexonet/Connector.pm":{"time":[251961,4,3,1,12,1,1,25,364,1,22,3,1,10,2,1,7,2,1,9,2,1,8,1,1,8,1,1,7,2,1,18],"subroutine":[1,1,1,1,1,1,1,1,1,1,1],"statement":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]},"blib/lib/WebService/Hexonet/Connector/APIClient.pm":{"subroutine":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,0,2,2,52,2,5,21,2,20,2,20,2,4,1,1,11,7,12,3,11,3,3,1,2,18,7,1,1,1,1,1,1,2,18,18],"statement":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,0,0,0,0,2,2,2,2,2,2,52,52,52,19,52,52,51,51,97,96,96,96,1,52,19,52,52,2,52,52,2,2,2,1,1,5,5,21,21,1,1,1,1,21,2,2,2,2,2,2,1,1,2,2,20,20,1,19,2,2,1,1,2,20,20,1,19,2,2,1,1,2,4,4,1,1,1,1,1,1,1,11,11,11,7,7,7,12,12,12,3,3,3,11,11,11,11,3,3,3,3,3,3,3,3,3,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,1,2,18,18,18,18,18,18,18,18,18,18,18,18,0,18,18,0,18,18,17,17,2,1,1,0,18,7,7,7,0,7,7,6,7,7,7,7,6,6,6,1,1,1,1,1,1,3,1,1,1,1,1,5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,18,18,18,37,37,1,37,3,3,3,3,6,6,6,3,18,18,18,1,17,37,17,17,15,2,2,2,5,5,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1],"branch":[[0,0],[19.0,33],[96.0,1],[51,1],[19.0,33],[2.0,50],[1.0,1],[1.0,20],[1.0,1],[1.0,19],[1,1],[1.0,19],[1,1],[1.0,0],[1.0,2],[1.0,0],[1.0,0],[1.0,0],[1.0,1],[0,18],[0,18],[2.0,15],[0,1],[17,1],[0,7],[6.0,1],[6.0,1],[1.0,36],[3.0,34],[1.0,17],[15.0,2],[1.0,4],[1.0,1],[1.0,0],[1.0,0]],"pod":[1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1],"time":[8,2,2,1,8,2,1,17,240,7,4,291,2,19,362,1,19,3,1,9,330,1,18,313,23027,20,3,1,34,2,1,17,2,2,13,3,1,14,2,2,3,5,5,14,4,4,3,1,3,2,null,null,null,null,275,4,3,5,2,3,754,104,108,24,44,68,46,96,113,93,98,120,2,84,35,98,87,3,66,64,4,4,3,2,2,10,7,37,44,7,6,3,9,42,915,7,9,4,2,8,1,2,6,8,28,36,2,26,4,3,2,2,2,37,45,3,27,326,41,1,2,3,11,7,4,2,2,2,4,2,1,284,33,10,351,17,6,1779,28,44,313,5,3,936,25,21,10,917,5,3,4,7,3,13,8,10,2,2,2,2,1,4,28,1,2,1,3,2,3,2,2,2,2,2,229,2,2,2,3,1,3,5,3,6,6,3,14,32,42,34,39,39,23,75,4755,619,474,240,29,null,34,25,null,42,13500095,169,54,8,9,11,null,346,18,16,20,null,9,14,8,17,16,12,18,7,7,11,3,6,1,2,1,2,5,2,2,1,2,3,7,12,17,619,5,1,1,5,1,323,2,333,2,297,3,3,1,2,5,5,2,25,20,41,41,58,2,60,3,5,3,4,8,8,6,4,31,23,57,2,19,91,30,41,21,3,3,3,6,9,2,2,5,2,5,4,2,2,3,2,1,2,2,2,10],"condition":[[0,0,0],[33,0,19],[33,0,19],[1,0,1],[0,3.0]]}},"start":1648049689.31547,"name":"WebService-Hexonet-Connector","finish":1648049703.69076}}} \ No newline at end of file +{"runs":{"1654855968.805.36285":{"finish":1654855967.71496,"collected":["branch","condition","pod","statement","subroutine","time"],"count":{"blib/lib/WebService/Hexonet/Connector/ResponseParser.pm":{"branch":[[50.0,4464],[4252,262],[4514,335],[4849.0,257],[3.0,3],[5.0,1],[5.0,1],[1.0,5],[1.0,5]],"statement":[1,1,1,1,1,1,1,1,112,112,112,112,5106,4849,4849,4849,4849,4514,50,4514,4514,4514,4252,4252,262,335,112,6,6,6,3,3,3,5,5,5,11,11,6,5,6,5,6,1,6,1,6,6],"time":[8,2,2,0,13,1,1,307,111,104,277,670,6932,4032,3707,9533,5290,4220,76,3792,3433,3957,2797,4523,373,455,338,27,7,8,4,3,9,5,5,5,13,9,10,6,7,5,9,1,8,2,6,8],"pod":[1,1],"subroutine":[1,1,1,112,6]},"blib/lib/WebService/Hexonet/Connector/Response.pm":{"time":[10,1,2,0,10,4,1,25,305,2,15,301,1,16,164,127,2,24,1,3,285,6389,3,632,1,1059,16533,162,134,5,3,4,5,2,2,31,10,6,67,89,95,2,84,72,135,75,101,96,34,86,47,48,110,445,225,106,185,136,37,61,2781,3090,20691,22611,22751,24166,4505,3878,446,467,116,292,132,171,225,3295,2826,4382,3803,20698,21234,64035,62525,24739,29621,48,5,3,5,1,336,2,7,3,1,2,28,22,12,5,7,15,13,14,9,19,20,22,35,31,5,6,3,3,28,31,40,21,26,34,7,8,11,7,14,14,14,11,10,16,3,3,2,3,3,2,1,2,3,3,3,8,7,5,6,8,9,2,3,5,9,null,8,11,9,20,19,3,302,5,7,6,4,9,2,4,4,6,8,7,9,6,10,13,null,2,1,3,17,14,27,81,24,26,33,21,25,37,4,38,44,49,41,45,53,7,6,3,6,3,1,3,3,null,6,3,6,4,1,3,null,2,1,1,2,20084,25245,61180,24886,29537,7,5,9,40,5,5,2,7,7,2,8],"pod":[1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"condition":[[5,0,14],[1,0,8],[0,0,2],[1,0,7],[0,2,3],[3,0,1]],"branch":[[3.0,1],[4.0,46],[1.0,49],[51.0,109],[4395.0,21126],[25521.0,0],[33.0,17],[25607.0,17],[1.0,1],[14.0,5],[1.0,1],[21.0,0],[21.0,7],[1.0,6],[7.0,0],[7.0,2],[1.0,1],[3.0,2],[1.0,4],[4.0,0],[8.0,1],[1.0,4],[0,4],[1.0,3],[2.0,0],[18.0,0],[18.0,1],[36.0,0],[36.0,6],[1.0,1],[1.0,0],[1.0,1],[0,1]],"statement":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,50,50,50,4,3,4,4,1,1,1,4,4,50,50,50,1,50,50,50,50,50,50,33,33,33,33,160,160,160,160,160,51,33,33,4263,4263,25521,25521,25521,25521,4395,4263,50,160,160,160,160,160,160,4263,4263,4263,4263,25624,25624,25607,89546,25607,25607,17,2,2,2,1,3,3,3,1,1,1,9,9,4,4,4,4,10,10,4,19,19,19,19,14,5,2,2,1,28,28,28,21,21,21,7,7,7,6,9,9,9,7,7,7,2,2,1,1,1,1,1,1,2,1,1,5,5,2,5,5,5,1,4,4,4,0,9,9,9,9,8,1,3,3,3,5,5,5,1,4,4,4,4,4,3,2,2,2,0,1,1,1,18,18,18,18,19,19,19,18,18,18,1,42,42,42,36,36,36,6,2,2,2,1,1,1,1,0,2,2,2,1,1,1,0,1,1,1,1,25624,25624,89554,25624,25624,8,8,8,8,5,5,5,5,5,4,4],"subroutine":[1,1,1,1,1,1,1,1,1,50,160,4263,25624,89546,2,3,1,9,4,19,2,28,9,1,5,5,9,3,5,4,2,1,18,19,42,2,2,1,25624,89554,8,5,4]},"blib/lib/WebService/Hexonet/Connector/APIClient.pm":{"branch":[[0,0],[19.0,33],[96.0,1],[51,1],[19.0,33],[2.0,50],[1.0,1],[1.0,20],[1.0,1],[1.0,19],[1,1],[1.0,19],[1,1],[1.0,0],[1.0,2],[1.0,0],[1.0,0],[1.0,0],[1.0,1],[0,18],[0,18],[2.0,15],[0,1],[17,1],[0,7],[6.0,1],[6.0,1],[1.0,36],[3.0,34],[1.0,17],[15.0,2],[1.0,4],[1.0,1],[1.0,0],[1.0,0]],"condition":[[0,0,0],[33,0,19],[33,0,19],[1,0,1],[0,3.0]],"statement":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,0,0,0,0,2,2,2,2,2,2,52,52,52,19,52,52,51,51,97,96,96,96,1,52,19,52,52,2,52,52,2,2,2,1,1,5,5,21,21,1,1,1,1,21,2,2,2,2,2,2,1,1,2,2,20,20,1,19,2,2,1,1,2,20,20,1,19,2,2,1,1,2,4,4,1,1,1,1,1,1,1,11,11,11,7,7,7,12,12,12,3,3,3,11,11,11,11,3,3,3,3,3,3,3,3,3,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,1,2,18,18,18,18,18,18,18,18,18,18,18,18,0,18,18,0,18,18,17,17,2,1,1,0,18,7,7,7,0,7,7,6,7,7,7,7,6,6,6,1,1,1,1,1,1,3,1,1,1,1,1,5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,18,18,18,37,37,1,37,3,3,3,3,6,6,6,3,18,18,18,1,17,37,17,17,15,2,2,2,5,5,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1],"time":[6,3,1,1,8,2,1,21,177,114,2,319,1,19,369,2,22,3,1,11,343,2,16,321,24176,19,4,1,37,3,1,18,2,1,16,2,1,17,2,1,4,4,6,17,5,4,3,2,5,2,null,null,null,null,263,5,3,4,3,2,745,116,115,28,56,79,46,105,111,91,110,122,2,103,39,116,90,4,63,65,5,5,4,3,1,49,10,43,56,8,7,2,10,46,969,13,10,4,3,7,2,2,8,7,57,46,4,26,2,5,1,2,2,36,50,3,30,342,4,1,3,3,15,7,4,3,2,3,2,3,1,302,30,14,340,22,9,1818,32,13,309,8,3,922,30,25,11,911,4,5,5,11,6,14,13,17,4,1,4,3,3,3,36,2,2,2,11,2,3,3,2,4,2,3,4,376,2,5,2,2,5,8,3,8,9,4,16,42,53,45,51,47,34,105,5215,643,481,258,40,null,46,33,null,53,10367470,196,69,11,13,9,null,467,21,18,17,null,12,17,10,24,19,13,17,10,11,17,3,8,2,1,2,2,5,1,4,2,2,2,10,20,20,716,7,1,1,6,1,348,2,386,3,302,3,2,1,2,3,4,1,35,25,38,43,65,2,69,3,6,2,4,9,24,7,6,32,32,65,2,19,98,33,32,24,3,3,3,6,11,2,2,4,3,6,4,3,4,3,1,2,4,3,2,10],"subroutine":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,0,2,2,52,2,5,21,2,20,2,20,2,4,1,1,11,7,12,3,11,3,3,1,2,18,7,1,1,1,1,1,1,2,18,18],"pod":[1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1]},"blib/lib/WebService/Hexonet/Connector/Record.pm":{"branch":[[2.0,1]],"statement":[1,1,1,1,1,1,1,1,4264,4264,6,6,3,3,3,1,3,3,3],"time":[7,1,2,1,8,2,0,97,3450,5153,292,18,564,4,8,3,5,5,15],"pod":[1,1,1,1],"subroutine":[1,1,1,4264,6,3,3]},"blib/lib/WebService/Hexonet/Connector/Logger.pm":{"subroutine":[1,1,1,1,4,2],"branch":[[0,2]],"statement":[1,1,1,1,1,1,1,1,1,1,1,4,4,2,2,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2],"time":[10,2,2,1,12,2,0,23,254,3764,124,4,12,4,6,null,null,null,null,null,null,null,null,3,14,551,10,57,11,50],"pod":[1,1]},"blib/lib/WebService/Hexonet/Connector.pm":{"time":[216488,4,2,1,11,3,1,37,364,2,23,4,1,10,2,1,9,2,1,9,2,1,9,1,1,8,2,1,7,2,1,22],"statement":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],"subroutine":[1,1,1,1,1,1,1,1,1,1,1]},"blib/lib/WebService/Hexonet/Connector/ResponseTemplate.pm":{"statement":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,110,110,110,11,110,110,110,1,1,110,3,3,7,7,32,32,2,2,1,1,62,62,2,2,1,1,2,2,2,18,18,18,1,1,1,2,2,1,1],"branch":[[11.0,99],[1.0,109],[1.0,1],[1.0,1],[1.0,1]],"condition":[[6,5,99],[1,0,109]],"pod":[1,1,1,1,1,1,1,1,1,1,1],"time":[350,2,2,1,9,1,6,22,342,2,19,328,2,237,3081,112,303,12,130,170,249,2,3,246,7,7,12,21,69,91,5,5,3,3,75,93,7,3,4,2,1721,5,7,6755,54,63,763,4,4,27,3,3,2],"subroutine":[1,1,1,1,1,110,3,7,32,2,62,2,2,18,1,2]},"blib/lib/WebService/Hexonet/Connector/Column.pm":{"subroutine":[1,1,1,161,1,3,25604,25604],"time":[6,2,2,3,11,2,1,130,1528,143,166,119,473,152,266,345,4,4,6,17068,16444,21010,17546,17497,16434,27354],"pod":[1,1,1,1,1],"branch":[[4478.0,21126]],"statement":[1,1,1,1,1,1,1,1,161,161,161,161,161,161,161,1,1,3,3,25604,25604,25604,21126,25604,25604,25604]},"blib/lib/WebService/Hexonet/Connector/ResponseTemplateManager.pm":{"pod":[1,1,1,1,1,1,1,1],"time":[8,1,2,1,9,2,1,23,2,1,14,1,1,274,7,2,1,2,1,2,1,1,1,1,1,3,285,18,9,14,11,7924,34,49,38,2,68,2,1,1,2,3,13,3,35,61,6,3,5,12,2,3,1],"condition":[[0,0,2]],"branch":[[1.0,2],[34,1]],"statement":[1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,3,10,10,10,10,10,35,35,35,34,1,35,1,1,1,1,1,10,1,35,35,2,2,2,2,1,1,1],"subroutine":[1,1,1,1,1,3,10,10,35,1,35,2,1]},"blib/lib/WebService/Hexonet/Connector/SocketConfig.pm":{"subroutine":[1,1,1,1,3,53,3,1,11,7,11,3,12,4,2],"pod":[1,1,1,1,1,1,1,1,1,1,1],"time":[8,2,2,1,8,2,1,22,17,1,3,338,22,51,63,95,79,78,68,92,2,91,61,76,49,71,12,69,4,64,3,6,2,3,19,16,12,11,10,9,8,9,12,14,14,13,3,2,3,14,16,20,13,14,13,6,5,5,4,4,5],"statement":[1,1,1,1,1,1,1,1,1,1,1,3,3,53,53,53,52,53,35,53,1,53,35,53,37,53,7,53,2,53,3,3,1,1,11,11,11,11,7,7,7,7,11,11,11,11,3,3,3,12,12,12,12,12,12,4,4,4,2,2,2],"branch":[[52.0,1],[35.0,18],[1.0,52],[35.0,18],[37.0,16],[7.0,46],[2.0,51]]}},"perl":"5.36.0","digests":{"blib/lib/WebService/Hexonet/Connector/ResponseParser.pm":"160f99b3d83ed9af8987d13c413b16e8","blib/lib/WebService/Hexonet/Connector/Response.pm":"2a866793567c00be69520ed947ad682c","blib/lib/WebService/Hexonet/Connector/APIClient.pm":"dd837b8e4fce755153920b69c07a6ea2","blib/lib/WebService/Hexonet/Connector.pm":"d9e0a0b5d33e80209b9e3fd77eafbdd1","blib/lib/WebService/Hexonet/Connector/ResponseTemplate.pm":"dc44773dabfc7e99483387db1a30004e","t/Hexonet-connector.t":"11797d93cbbf80cfeddc3dcd4ffc973c","blib/lib/WebService/Hexonet/Connector/Record.pm":"da4d265b55968a07d7788f3f262349ef","blib/lib/WebService/Hexonet/Connector/Logger.pm":"6d65f0081be2eae6069ae7dee45c4fe3","blib/lib/WebService/Hexonet/Connector/ResponseTemplateManager.pm":"75440d22cc5aa0f841292e94156cf110","blib/lib/WebService/Hexonet/Connector/Column.pm":"0473a9b827b1f189c159a6404d68f9af","blib/lib/WebService/Hexonet/Connector/SocketConfig.pm":"a2f9d605d631a7d25598976a505d4dbe"},"start":1654855956.49093,"run":"t/Hexonet-connector.t","OS":"linux","version":"v2.10.4","name":"WebService-Hexonet-Connector","abstract":"Connector library for the insanely fast L.","dir":"/__w/perl-sdk/perl-sdk","vec":{"blib/lib/WebService/Hexonet/Connector/ResponseTemplate.pm":{"subroutine":{"vec":"ÿÿ","size":16},"pod":{"size":11,"vec":"ÿ\u0007"},"statement":{"vec":"ÿÿÿÿÿÿ\u001f","size":53},"branch":{"size":10,"vec":"ÿ\u0003"},"condition":{"vec":".","size":6}},"blib/lib/WebService/Hexonet/Connector.pm":{"statement":{"vec":"ÿÿÿÿ","size":32},"subroutine":{"vec":"ÿ\u0007","size":11}},"blib/lib/WebService/Hexonet/Connector/Logger.pm":{"branch":{"vec":"\u0000","size":2},"statement":{"size":30,"vec":"ÿ€?"},"pod":{"size":2,"vec":"\u0003"},"subroutine":{"size":6,"vec":"?"}},"blib/lib/WebService/Hexonet/Connector/Record.pm":{"pod":{"vec":"\u000f","size":4},"statement":{"vec":"ÿÿ\u0007","size":19},"branch":{"vec":"\u0002","size":2},"subroutine":{"size":7,"vec":""}},"blib/lib/WebService/Hexonet/Connector/SocketConfig.pm":{"subroutine":{"vec":"ÿ","size":15},"statement":{"size":61,"vec":"ÿÿÿÿÿÿÿ\u001f"},"branch":{"vec":"V%","size":14},"pod":{"vec":"ÿ\u0007","size":11}},"blib/lib/WebService/Hexonet/Connector/Column.pm":{"subroutine":{"vec":"ÿ","size":8},"pod":{"size":5,"vec":"\u001f"},"statement":{"vec":"ÿÿÿ\u0003","size":26},"branch":{"vec":"\u0000","size":2}},"blib/lib/WebService/Hexonet/Connector/ResponseTemplateManager.pm":{"subroutine":{"vec":"ÿ\u001f","size":13},"statement":{"vec":"ÿÿÿÿÿÿ\u001f","size":53},"condition":{"size":3,"vec":"\u0000"},"branch":{"vec":"\t","size":4},"pod":{"vec":"ÿ","size":8}},"blib/lib/WebService/Hexonet/Connector/ResponseParser.pm":{"subroutine":{"size":5,"vec":"\u001f"},"statement":{"vec":"ÿÿÿÿÿÿ","size":48},"branch":{"size":18,"vec":"àÿ\u0003"},"pod":{"vec":"\u0003","size":2}},"blib/lib/WebService/Hexonet/Connector/APIClient.pm":{"statement":{"size":303,"vec":"ÿÿÿÿÿÿÃÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿû{ÿÿÿÿÿÿÿÿÿÿ"},"branch":{"size":70,"vec":"ìsÿW5èj]\u0017"},"condition":{"size":14,"vec":"h+"},"pod":{"vec":"ùÿÿÿ\u0005","size":35},"subroutine":{"vec":"ÿÿþÿÿÿ\u0007","size":51}},"blib/lib/WebService/Hexonet/Connector/Response.pm":{"statement":{"size":231,"vec":"ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¿ÿÿÿ÷ûÿ"},"branch":{"vec":"óõ{W\u0017Æ Ü\u0002","size":66},"condition":{"size":18,"vec":"\tÊ\u0002"},"pod":{"size":28,"vec":"¿ÿÿ\u000f"},"subroutine":{"vec":"ÿÿÿÿÿ\u0007","size":43}}}}}} \ No newline at end of file diff --git a/cover_db/coverage.html b/cover_db/coverage.html index 979e0b3..8996fe1 100644 --- a/cover_db/coverage.html +++ b/cover_db/coverage.html @@ -20,8 +20,8 @@

Coverage Summary

- - + + @@ -31,14 +31,14 @@

Coverage Summary


Database:/__w/perl-sdk/perl-sdk/cover_db
Report Date:2022-03-23 15:35:04
Perl Version:v5.32.1
Report Date:2022-06-10 10:12:48
Perl Version:v5.36.0
OS:linux
Thresholds:
- - - + + + - + - + diff --git a/cover_db/digests b/cover_db/digests index 7081c59..6ddd44a 100644 --- a/cover_db/digests +++ b/cover_db/digests @@ -1 +1 @@ -{"5c5775bf38f3da638deb1b1efbc1b783":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/Formatter.pm","320a85d3878cdd0aa0f70c53b41399d9":"/usr/local/lib/perl5/site_perl/5.32.1/HTTP/Message.pm","b5bc84e5bfa3004326504b9e6eb608f8":"/usr/local/lib/perl5/site_perl/5.32.1/JSON/MaybeXS.pm","6291b9bc736f024da94269567d2394a5":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/API/Stack.pm","ae1657871c87fe4782c6468e70a6463f":"/usr/local/lib/perl5/5.32.1/overload.pm","f868a2bca863df438aafe6a677cbfa42":"/usr/local/lib/perl5/5.32.1/XSLoader.pm","7549464383743af13b7619e684b63fdf":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/EventFacet/Parent.pm","444335b8ab8d600bcbb8e8623df0148d":"/usr/local/lib/perl5/site_perl/5.32.1/URI/https.pm","fd530d9a97d020c18e5788338d94a0e8":"blib/lib/WebService/Hexonet/Connector/Column.pm","ebafdbf6302e9ad5e27af989dd805aa7":"/usr/local/lib/perl5/5.32.1/x86_64-linux-gnu/Data/Dumper.pm","b337d563fd4bc958c7e0a2bba2ca86d2":"/usr/local/lib/perl5/5.32.1/x86_64-linux-gnu/Fcntl.pm","1abaf367f411a7a8634a80d8d12c3761":"/usr/local/lib/perl5/5.32.1/parent.pm","c57d902de33f6bd2ca24711913375b02":"/usr/local/lib/perl5/site_perl/5.32.1/HTTP/Request/Common.pm","e45975770af354328fdac78e9facee40":"/usr/local/lib/perl5/5.32.1/bytes.pm","857740ad96a03ed289618b93c4794004":"/usr/local/lib/perl5/site_perl/5.32.1/HTTP/Status.pm","cb2dfe85830228bd01da1c85867ba42d":"/usr/local/lib/perl5/5.32.1/x86_64-linux-gnu/attributes.pm","d4af1ff521c4b4ee4cbc438831742f0c":"blib/lib/WebService/Hexonet/Connector/ResponseTemplate.pm","7704708f836440510aafd15b6444ca3b":"/usr/local/lib/perl5/site_perl/5.32.1/x86_64-linux-gnu/Devel/Cover/DB/IO/Base.pm","cff473a3c02b51a7eb2339129f42e77d":"/usr/local/lib/perl5/site_perl/5.32.1/Test/More.pm","3a9c301b324592aef1efae28db633e13":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/API.pm","ef141a1fa0bd32f9c47b3b1b5bfe26d8":"/usr/local/lib/perl5/5.32.1/IO/Compress/Base/Common.pm","c39c98b8678e56f8d2f371a6ba9fabfb":"/usr/local/lib/perl5/5.32.1/IO/Socket/IP.pm","2fd4e0f143b47facaafd83e4673a73af":"blib/lib/WebService/Hexonet/Connector/ResponseTemplateManager.pm","e1a0cdc7842bcc1d5da2737c93e11ee5":"/usr/local/lib/perl5/site_perl/5.32.1/x86_64-linux-gnu/Devel/Cover/Condition_xor_4.pm","441328c7ffbbe42a0226ec65bde71715":"/usr/local/lib/perl5/5.32.1/strict.pm","ebb8b3cd5dfe43fd2a9fe399bdeeb001":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/Event/Waiting.pm","71102c7613a15ba9ddb2188a45584149":"/usr/local/lib/perl5/site_perl/5.32.1/Net/HTTP.pm","de8e1120b69d14303cba4bdcfd60be48":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/Hub/Interceptor/Terminator.pm","5435d29cb1bc6115320c606c96fb4663":"/usr/local/lib/perl5/5.32.1/x86_64-linux-gnu/Config.pm","94c4db8c031e9a60e12d1ff70a52f847":"/usr/local/lib/perl5/site_perl/5.32.1/URI/_query.pm","bc841e455d781039c264158f6fc48cd9":"/usr/local/lib/perl5/5.32.1/PerlIO.pm","a08fa87da18428a992d4d0eb46ffaa99":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/EventFacet/Meta.pm","9e4fb3e9ce2ce52fa241d7147c361133":"/usr/local/lib/perl5/5.32.1/warnings.pm","135b5f0b79b95fb2866bdc20d22270dc":"/usr/local/lib/perl5/site_perl/5.32.1/x86_64-linux-gnu/Devel/Cover/DB.pm","17052fc984b13fd6bcb17846c15d2bc2":"blib/lib/WebService/Hexonet/Connector.pm","aca6211e00af2565f982fd281b565930":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/EventFacet/Error.pm","3f40faa217288ed2cb4e34af87b6bfd6":"/usr/local/lib/perl5/5.32.1/x86_64-linux-gnu/Encode/Encoding.pm","53ec480788926d9bd7e6e4a17dfd366f":"/usr/local/lib/perl5/site_perl/5.32.1/x86_64-linux-gnu/Devel/Cover/Condition_and_2.pm","127147bd653ae88029960a75cf251a0c":"/usr/local/lib/perl5/site_perl/5.32.1/URI/_server.pm","9339f9e86bd5ed7caff8f0d42495e422":"/usr/local/lib/perl5/5.32.1/x86_64-linux-gnu/File/Glob.pm","4ae0149239e63617560a9bd9f1fd9e48":"/usr/local/lib/perl5/5.32.1/x86_64-linux-gnu/Compress/Raw/Zlib.pm","15e9a43fcf88774af24e3a55002e4881":"/usr/local/lib/perl5/site_perl/5.32.1/HTTP/Response.pm","e649ab91a4890ab2543e821daef73079":"/usr/local/lib/perl5/site_perl/5.32.1/Devel/Symdump.pm","01d59a664a69ffaed1bd0300ba0c7134":"/usr/local/lib/perl5/5.32.1/Carp.pm","b542fc33c207e13a297caafbaeb9f953":"/usr/local/lib/perl5/5.32.1/x86_64-linux-gnu/IO/File.pm","3b3cc1987e6e9c5bc9a01f97651282e3":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/Hub/Interceptor.pm","1658bd027cc95dc945eec16a9a4880b5":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/API/Context.pm","e878af8f4917d78f5fc347fad427f2e7":"/usr/local/lib/perl5/site_perl/5.32.1/URI/_idna.pm","eea1fad1472e4c671a8fcd825165666f":"/usr/local/lib/perl5/5.32.1/File/GlobMapper.pm","d53035083682c2a78d56d998ad7239d2":"/usr/local/lib/perl5/site_perl/5.32.1/Pod/Coverage.pm","19eb9be95022dc74914a463ed69b5a79":"/usr/local/lib/perl5/site_perl/5.32.1/x86_64-linux-gnu/Devel/Cover/Condition_or_3.pm","b97d8fd5a2e67810bd658c6adee41010":"/usr/local/lib/perl5/5.32.1/x86_64-linux-gnu/IO/Socket/UNIX.pm","759149871a1e2e06fbd6bc505f09960d":"/usr/local/lib/perl5/5.32.1/feature.pm","6304aaa44293182ba995c4a757556cab":"/usr/local/lib/perl5/5.32.1/x86_64-linux-gnu/Storable.pm","22e5f888b47a0cbea617ba76c28a78ec":"/usr/local/lib/perl5/site_perl/5.32.1/Exporter/Tiny.pm","1e09437d4c107f7ef2690f6b9995dbd7":"/usr/local/lib/perl5/5.32.1/Pod/Find.pm","39568935d59f143328ea6e20d30a5a9a":"/usr/local/lib/perl5/site_perl/5.32.1/x86_64-linux-gnu/Devel/Cover/Condition.pm","f4d72841ab28d69c261dccb6567d4330":"/usr/local/lib/perl5/site_perl/5.32.1/x86_64-linux-gnu/Devel/Cover/Dumper.pm","6b7a4d75d42c87da3929354fafa2a5a6":"/usr/local/lib/perl5/5.32.1/Pod/InputObjects.pm","1858aea3ff04a20c8e73de55b27427fc":"/usr/local/lib/perl5/5.32.1/x86_64-linux-gnu/IO/Socket/INET.pm","c923fac66a84c6b5dbbf01250e7c1a42":"/usr/local/lib/perl5/5.32.1/AutoLoader.pm","14e6f67a891acd42dfba1fdc8fbfe537":"/usr/local/lib/perl5/5.32.1/x86_64-linux-gnu/POSIX.pm","ab8a4ab48b1da0cfd98aea5e8dd82be9":"/usr/local/lib/perl5/5.32.1/Exporter.pm","a8b0b73cc7b84e841a11bba17d6fbbb2":"blib/lib/WebService/Hexonet/Connector/Logger.pm","e78ef4a29b234d0318e99cad4857e999":"/usr/local/lib/perl5/5.32.1/x86_64-linux-gnu/Socket.pm","223e01ee29ca18c38e275f8fb9156596":"/usr/local/lib/perl5/5.32.1/blib.pm","0eabf5a393a423c46b7daf427daa966d":"blib/lib/WebService/Hexonet/Connector/Record.pm","6b82ddf328037a8c393f2c4413a9448c":"/usr/local/lib/perl5/site_perl/5.32.1/Test/Builder/TodoDiag.pm","b4b487e390573a729d216b62d842801a":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/Event.pm","b18c17780b4cee3860944f1a528a5322":"/usr/local/lib/perl5/5.32.1/IO/Uncompress/Base.pm","04943320e9647887ae846fe0304ce5ca":"/usr/local/lib/perl5/5.32.1/IO/Compress/Gzip/Constants.pm","a88a1523b398edecdfbc80e98771e33c":"/usr/local/lib/perl5/site_perl/5.32.1/LWP/MemberMixin.pm","d93e45b091562bbf77f2ba1ed3e0df2d":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/EventFacet/Trace.pm","7a43b540967f12cfef86857a15ffb1b7":"/usr/local/lib/perl5/site_perl/5.32.1/x86_64-linux-gnu/Devel/Cover/Branch.pm","7bdd1d8dffa8d3500086802451fc020d":"/usr/local/lib/perl5/5.32.1/x86_64-linux-gnu/Encode/Config.pm","f543801ae1c797b39771adcb7bf61534":"/usr/local/lib/perl5/site_perl/5.32.1/Test/Builder/Module.pm","56cde6eba0f667ab56196613df3933c1":"/usr/local/lib/perl5/5.32.1/constant.pm","a32810cb20608fbec2e1468071d250f9":"/usr/local/lib/perl5/site_perl/5.32.1/x86_64-linux-gnu/Cpanel/JSON/XS.pm","05ab9141e7ecb4e49e9ef7e4cc407ee4":"/usr/local/lib/perl5/5.32.1/x86_64-linux-gnu/IO.pm","2d0125b82ecdf9012f48efdd9a13d6a4":"/usr/local/lib/perl5/site_perl/5.32.1/LWP.pm","c209cebb34567000291b3a5fc585ec5f":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/Util/ExternalMeta.pm","ccb3ff7195925d66a4322e9e2f7b5091":"/usr/local/lib/perl5/site_perl/5.32.1/x86_64-linux-gnu/Devel/Cover.pm","3a12d2af9d7b145bb4f16f0f80680430":"/usr/local/lib/perl5/5.32.1/utf8.pm","b592b49a54a1ec878178ae677cbe81c4":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/Event/Ok.pm","c46e2ebb720ee7d9c600ce5acbf34291":"/usr/local/lib/perl5/5.32.1/Digest/base.pm","f04f9ec9e5c49c7c0398b96f116f3563":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/Util/Facets2Legacy.pm","7f6ca9c3a5e324d2b930bf484f8368f8":"/usr/local/lib/perl5/site_perl/5.32.1/x86_64-linux-gnu/Devel/Cover/DB/IO.pm","9d09b8b725073435f8b95bd73a871d2f":"/usr/local/lib/perl5/site_perl/5.32.1/HTTP/Config.pm","600045f5b41270a0d57a0cd0c7bb1f88":"blib/lib/WebService/Hexonet/Connector/Response.pm","2be339104e710ca5ea8dbf70edc2012f":"blib/lib/WebService/Hexonet/Connector/APIClient.pm","78c343914bca8a919d1b2e1381b8d568":"/usr/local/lib/perl5/site_perl/5.32.1/x86_64-linux-gnu/Devel/Cover/Criterion.pm","9b166f82ac0afacbb4e2c0140725f29d":"/usr/local/lib/perl5/5.32.1/Pod/Parser.pm","165fbab27d71898080d484e37080821c":"/usr/local/lib/perl5/5.32.1/IO/Uncompress/RawInflate.pm","3b57bc3ae320eb898c06d0c3fa4cfa01":"/usr/local/lib/perl5/5.32.1/x86_64-linux-gnu/Config_heavy.pl","a5aa8d77ab729f60922e3e8895ce2880":"/usr/local/lib/perl5/5.32.1/x86_64-linux-gnu/IO/Socket.pm","060f029d056cc44e536c7d278f69bf43":"/usr/local/lib/perl5/5.32.1/File/Basename.pm","d68b433477b6ac081644b281a59a1096":"blib/lib/WebService/Hexonet/Connector/SocketConfig.pm","bd2c7672738ac4c374ad25b990d88a62":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/Event/Skip.pm","0f6813e54df455565cff1474c86f740b":"/usr/local/lib/perl5/5.32.1/x86_64-linux-gnu/DynaLoader.pm","8d3ac59a205c7fe0c092341f8e95a026":"/usr/local/lib/perl5/5.32.1/x86_64-linux-gnu/IO/Seekable.pm","34620538f770a535b8a6017edff8c98d":"/usr/local/lib/perl5/5.32.1/B/Deparse.pm","40f6af6eedf793474e122fee93949428":"/usr/local/lib/perl5/site_perl/5.32.1/List/MoreUtils/PP.pm","fec1c1985d96c2edd842ff2b71821afb":"/usr/local/lib/perl5/5.32.1/vars.pm","993c68caf9c177347bb47a079f29fb61":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/Util/Trace.pm","35968627324b71ec08e9a019e7047ce3":"/usr/local/lib/perl5/5.32.1/x86_64-linux-gnu/Cwd.pm","2d8f6ce093a2176b982c0e12c0194b3b":"/usr/local/lib/perl5/5.32.1/warnings/register.pm","9e98203b6bfe720128717ba8e8ae4148":"/usr/local/lib/perl5/5.32.1/x86_64-linux-gnu/Time/HiRes.pm","ccaabc641f09ff8b5b69495831711155":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/Formatter/TAP.pm","2364822dd0abe4a193695e242c94a6b3":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/Event/V2.pm","bd4812ceab0afd05e1c985d727a8b3a1":"/usr/local/lib/perl5/site_perl/5.32.1/Try/Tiny.pm","cd1e35a68b59305535a0a8fb1c1309f0":"/usr/local/lib/perl5/site_perl/5.32.1/Test/Builder/Formatter.pm","c6814d673ccdacef74079d9bbc5369a2":"/usr/local/lib/perl5/site_perl/5.32.1/x86_64-linux-gnu/Devel/Cover/DB/IO/JSON.pm","23b7d65e22b42927d6fcec631ab1c211":"/usr/local/lib/perl5/5.32.1/base.pm","7fa64838505e4c422ed93ac3bb557671":"/usr/local/lib/perl5/5.32.1/deprecate.pm","fc42321fdb0d6900590dfc64cd315bf3":"/usr/local/lib/perl5/site_perl/5.32.1/Test/Builder.pm","d47d8e7cf14b5dfeff4f9102e569abad":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/Util/HashBase.pm","cf39c6da232557143fd5ecceffa59163":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/Event/Exception.pm","447dda1594c407e8a622f957e739e5b3":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/EventFacet/Amnesty.pm","243b0115937229411761ef353a5541ae":"/usr/local/lib/perl5/site_perl/5.32.1/Readonly.pm","c3280193456386938373947a4be14c6b":"/usr/local/lib/perl5/5.32.1/x86_64-linux-gnu/Encode/Alias.pm","f2e4aa3aedc21d2514f90676683ee408":"/usr/local/lib/perl5/5.32.1/x86_64-linux-gnu/Errno.pm","2f8b3de012d1010dc9f6c84833d52c7c":"/usr/local/lib/perl5/5.32.1/IO/Uncompress/Gunzip.pm","6420d689c07bb0257f37753566aec0a2":"/usr/local/lib/perl5/site_perl/5.32.1/B/Debug.pm","b4b1e951415e801a7e515c2868bccc02":"/usr/local/lib/perl5/site_perl/5.32.1/x86_64-linux-gnu/Devel/Cover/Pod.pm","210dab9da36aada13e0ff27582cf0fc0":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/EventFacet.pm","53a0531131976c4091d66b73f5f9da19":"/usr/local/lib/perl5/5.32.1/IO/Compress/Zlib/Extra.pm","7613d0044331ded306a09d0b3dd751f5":"/usr/local/lib/perl5/site_perl/5.32.1/x86_64-linux-gnu/Devel/Cover/Util.pm","5228d81d916abcc5c1096a5d80907213":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/Util.pm","56c1583124313db61d221a9c870764a2":"/usr/local/lib/perl5/site_perl/5.32.1/IO/Socket/SSL/PublicSuffix.pm","f9224a1ebfd6cff37c65c409748757c0":"/usr/local/lib/perl5/site_perl/5.32.1/Net/HTTP/Methods.pm","40c75798abc86690ba1fcf55bfbd5628":"/usr/local/lib/perl5/5.32.1/x86_64-linux-gnu/PerlIO/scalar.pm","364a0d4ff900a5eeb481e80e8f345506":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/EventFacet/Info.pm","bf5d732f139e44dc64b3611149419c90":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/Event/Pass.pm","bddc465e351ad0508581b94ef112d322":"/usr/local/lib/perl5/5.32.1/SelectSaver.pm","5d974e0be05f6905bfc92ea2bbf4eb7d":"/usr/local/lib/perl5/site_perl/5.32.1/x86_64-linux-gnu/Devel/Cover/Subroutine.pm","6fa4d12fa3a3472bc89a811f18b29ae9":"/usr/local/lib/perl5/site_perl/5.32.1/x86_64-linux-gnu/Devel/Cover/Condition_and_3.pm","9821a0a0679e92bc791b3b4ecf1b8a57":"/usr/local/lib/perl5/site_perl/5.32.1/URI/http.pm","342768de40671557502b614968c2c45e":"/usr/local/lib/perl5/site_perl/5.32.1/LWP/Protocol.pm","90609ebac52a5bf8bca0215a7c6fd587":"/usr/local/lib/perl5/site_perl/5.32.1/x86_64-linux-gnu/Devel/Cover/DB/Structure.pm","cba56bde22624ef2137426fb334f5e88":"/usr/local/lib/perl5/site_perl/5.32.1/x86_64-linux-gnu/Devel/Cover/Time.pm","91dd649602c04eaf8e17af42c908941f":"/usr/local/lib/perl5/site_perl/5.32.1/Sub/Uplevel.pm","b0398c10b6290859583e1a9991baac20":"/usr/local/lib/perl5/site_perl/5.32.1/URI/_punycode.pm","b9a99572e2b04fd3ca91f7c3b4fd4db3":"/usr/local/lib/perl5/site_perl/5.32.1/URI/_generic.pm","0cb4732c1304c6aeaa4963da6a85271d":"/usr/local/lib/perl5/site_perl/5.32.1/List/MoreUtils.pm","ac129b0bf9fb64817490fa63e9aa1bec":"/usr/local/lib/perl5/site_perl/5.32.1/Test/Exception.pm","e2c14331b1d6f0b643938d363d14421a":"/usr/local/lib/perl5/site_perl/5.32.1/URI/Escape.pm","4693075868b4d0372e7ee8949c804797":"/usr/local/lib/perl5/site_perl/5.32.1/x86_64-linux-gnu/Devel/Cover/DB/Digests.pm","f261ff12097b376fceb636639aa228c8":"/usr/local/lib/perl5/5.32.1/Symbol.pm","0c5436245872a678299839c0bbc15ca8":"/usr/local/lib/perl5/site_perl/5.32.1/Mozilla/CA.pm","ed1e40382e6de89c590cf5f6a0f6851c":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/EventFacet/Control.pm","13e97e2e035e935d0b4ba1aa03a62f99":"/usr/local/lib/perl5/site_perl/5.32.1/HTTP/Date.pm","2508f2cf80552c1548bf8ed1c9502f87":"/usr/local/lib/perl5/site_perl/5.32.1/x86_64-linux-gnu/Devel/Cover/DB/File.pm","ebcd5cfd2288291a4d7d10ef626b76e3":"/usr/local/lib/perl5/5.32.1/IO/Uncompress/Adapter/Inflate.pm","0021b70f7a42ecbf37c407f821ba0400":"/usr/local/lib/perl5/5.32.1/x86_64-linux-gnu/File/Spec/Unix.pm","9f286d9c2efd7e23bf69ac980d9f4ec2":"/usr/local/lib/perl5/5.32.1/x86_64-linux-gnu/Encode.pm","5a0595733469980dcc1efd7670c80e76":"/usr/local/lib/perl5/site_perl/5.32.1/LWP/Protocol/https.pm","c9f8002ef62fc5e033fa7a4b5f13d57e":"/usr/local/lib/perl5/site_perl/5.32.1/x86_64-linux-gnu/List/Util.pm","8575bda7ec6a1afa3a929fc2825fc05b":"/usr/local/lib/perl5/site_perl/5.32.1/LWP/UserAgent.pm","069a57f70d5e9c8fd8c33c9d7b7cb383":"blib/lib/WebService/Hexonet/Connector/ResponseParser.pm","0f014d2ce5fe26912d41e1244ea6b85a":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/Hub/Subtest.pm","2cac8fca6134693a7cc4a8eda2872716":"/usr/local/lib/perl5/5.32.1/x86_64-linux-gnu/IO/Handle.pm","c6975dd56bc414fbd024a7340d1b087d":"/usr/local/lib/perl5/site_perl/5.32.1/x86_64-linux-gnu/Net/SSLeay.pm","d1d29e6d3a6e72de8f296e50c8b5a913":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/Event/Note.pm","0921ec15aa13688a65c12919e85f1257":"/usr/local/lib/perl5/site_perl/5.32.1/x86_64-linux-gnu/Clone.pm","15bec5c271d5dcd5ecf2d7954844ac7a":"/usr/local/lib/perl5/site_perl/5.32.1/x86_64-linux-gnu/Devel/Cover/Statement.pm","54f6832e36166f99576275b9c125dd18":"/usr/local/lib/perl5/site_perl/5.32.1/x86_64-linux-gnu/Devel/Cover/Condition_or_2.pm","e7fa81ec1a5792295ccf29ea21d6ae70":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/Event/Fail.pm","1d1c2a615ea7af958a6e1be08b25a9a4":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/EventFacet/Plan.pm","635654a31f3f76217b58bdb7c4a89112":"/usr/local/lib/perl5/site_perl/5.32.1/IO/Socket/SSL.pm","cd1c8a04db0a2e321825c2e09c5d04fe":"/usr/local/lib/perl5/5.32.1/Time/Local.pm","f5d2f24647a6f9c3d356ceedca6aa28f":"/usr/local/lib/perl5/site_perl/5.32.1/HTTP/Headers.pm","a850fcd07c6afd92aa12a113db4f227e":"/usr/local/lib/perl5/site_perl/5.32.1/Test/RequiresInternet.pm","85fcdb6fa4b4831af6fa2b14b6ca4809":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/EventFacet/Assert.pm","9149033b80fdfb37e1054cacb5a7cb47":"/usr/local/lib/perl5/site_perl/5.32.1/x86_64-linux-gnu/Sub/Util.pm","f99518263f74b3fd734893c5bbe2220b":"/usr/local/lib/perl5/5.32.1/File/Path.pm","0b482786278b5e79d0c61d5cb4f64a91":"/usr/local/lib/perl5/5.32.1/x86_64-linux-gnu/re.pm","acc4709f0adb89bef2863771b6995d2b":"/usr/local/lib/perl5/5.32.1/Tie/Hash.pm","3e5ff5fb486c95945e10e79859dd5bfb":"/usr/local/lib/perl5/5.32.1/integer.pm","cbe4a79127d0ba487bd45d0cb09284de":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/Event/Diag.pm","89aee93844d00cba15d851104ab1e849":"/usr/local/lib/perl5/site_perl/5.32.1/URI.pm","3497901c0be31411786da0339b602dd2":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/EventFacet/Hub.pm","19e6b4f8d8bf04ab1b7155341e301d44":"/usr/local/lib/perl5/site_perl/5.32.1/Net/HTTPS.pm","d146c13f7bfd3409fed4af15f4864f76":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/EventFacet/About.pm","0150dbb9797a41b47062b0c37f76cbc0":"/usr/local/lib/perl5/site_perl/5.32.1/LWP/Protocol/http.pm","8ec3e4dafa8aa0335bee5a99cd904a00":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/Event/Subtest.pm","0879211b3890c137188b5c9e3b38e2a0":"/usr/local/lib/perl5/site_perl/5.32.1/HTTP/Request.pm","056ea8f31df117e2984d9bd3a77555dc":"/usr/local/lib/perl5/5.32.1/x86_64-linux-gnu/Encode/MIME/Name.pm","579c78cc80b06ef614e86e9bc0bb0ad7":"/usr/local/lib/perl5/5.32.1/File/Find.pm","bf41dfe84426559433a4ece7a763669b":"/usr/local/lib/perl5/site_perl/5.32.1/x86_64-linux-gnu/List/MoreUtils/XS.pm","3741fe9186eb501745a73aacf8dc4900":"/usr/local/lib/perl5/site_perl/5.32.1/Pod/Coverage/CountParents.pm","20279b94df9b9dbc76a3b4d0439324a8":"/usr/local/lib/perl5/5.32.1/Exporter/Heavy.pm","80de46c8bd525d4e9b91fcaae5d978ef":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/Event/Bail.pm","d70adb9df5f7a6e6583da3e71c707bd7":"/usr/local/lib/perl5/site_perl/5.32.1/x86_64-linux-gnu/auto/Net/SSLeay/autosplit.ix","6de6be6e9d41a61b2a5629d4fa9a4dae":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/API/Instance.pm","d7f23cf4eaeacebae16ccc3c3f37f22d":"/usr/local/lib/perl5/5.32.1/File/Copy.pm","9e021c781988c7389ba90117a6e342eb":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/Event/Plan.pm","7bb1ee0d94b85e96c4dd8800d9b93c5a":"/usr/local/lib/perl5/5.32.1/x86_64-linux-gnu/mro.pm","7d903976efa17673bac7ea0af7789085":"t/Hexonet-connector.t","36e1b34f8175e036d57e51fd7d56becd":"/usr/local/lib/perl5/5.32.1/overloading.pm","daea87503b99899dee14347ef5f51606":"/usr/local/lib/perl5/site_perl/5.32.1/HTTP/Headers/Util.pm","7b666786802ca73b2aefd368444f783c":"/usr/local/lib/perl5/site_perl/5.32.1/x86_64-linux-gnu/Scalar/Util.pm","bb5d333117d6a63c7f784be95f3b5d3c":"/usr/local/lib/perl5/5.32.1/x86_64-linux-gnu/B.pm","d00a2eba7b905b238518c281c1e568e4":"/usr/local/lib/perl5/site_perl/5.32.1/Test2/Hub.pm"} \ No newline at end of file +{"c89eb4539885ff045e33d4d21d13d48f":"/usr/local/lib/perl5/5.36.0/Pod/Find.pm","1658bd027cc95dc945eec16a9a4880b5":"/usr/local/lib/perl5/5.36.0/Test2/API/Context.pm","94c4db8c031e9a60e12d1ff70a52f847":"/usr/local/lib/perl5/site_perl/5.36.0/URI/_query.pm","5a0595733469980dcc1efd7670c80e76":"/usr/local/lib/perl5/site_perl/5.36.0/LWP/Protocol/https.pm","a9fd3406e5a83d6e7829679e67753bef":"/usr/local/lib/perl5/5.36.0/x86_64-linux-gnu/Time/HiRes.pm","cdfa8201e1331d09139b967289cd2fbd":"/usr/local/lib/perl5/5.36.0/x86_64-linux-gnu/re.pm","b4b487e390573a729d216b62d842801a":"/usr/local/lib/perl5/5.36.0/Test2/Event.pm","fec1c1985d96c2edd842ff2b71821afb":"/usr/local/lib/perl5/5.36.0/vars.pm","8f620379a0649ad32f14f1ce50b88bc0":"/usr/local/lib/perl5/5.36.0/x86_64-linux-gnu/Cwd.pm","444335b8ab8d600bcbb8e8623df0148d":"/usr/local/lib/perl5/site_perl/5.36.0/URI/https.pm","22e5f888b47a0cbea617ba76c28a78ec":"/usr/local/lib/perl5/site_perl/5.36.0/Exporter/Tiny.pm","17b7b11c4742cd50c3d3f8f5d748e8f8":"/usr/local/lib/perl5/5.36.0/File/GlobMapper.pm","1cf750f56e870e7f33536cdc015f89a1":"/usr/local/lib/perl5/5.36.0/x86_64-linux-gnu/Config.pm","16f1bd5864cc92eb89453e1c2bf7417c":"/usr/local/lib/perl5/5.36.0/x86_64-linux-gnu/IO/Handle.pm","3b3cc1987e6e9c5bc9a01f97651282e3":"/usr/local/lib/perl5/5.36.0/Test2/Hub/Interceptor.pm","71102c7613a15ba9ddb2188a45584149":"/usr/local/lib/perl5/site_perl/5.36.0/Net/HTTP.pm","ff28d08347e66a7bdec4332341604109":"/usr/local/lib/perl5/5.36.0/x86_64-linux-gnu/Socket.pm","0473a9b827b1f189c159a6404d68f9af":"blib/lib/WebService/Hexonet/Connector/Column.pm","d2de66d69a7c44d04d423bf597645ec4":"/usr/local/lib/perl5/5.36.0/IO/Uncompress/Gunzip.pm","5c266da28db9bc7a3b04835f9bf95f6c":"/usr/local/lib/perl5/5.36.0/overload.pm","2984c1983bf0e0b923377e5ebfc9dda4":"/usr/local/lib/perl5/5.36.0/PerlIO.pm","f04f9ec9e5c49c7c0398b96f116f3563":"/usr/local/lib/perl5/5.36.0/Test2/Util/Facets2Legacy.pm","6222e7c04146b7eda6c77368fe401155":"/usr/local/lib/perl5/5.36.0/IO/Socket/IP.pm","5228d81d916abcc5c1096a5d80907213":"/usr/local/lib/perl5/5.36.0/Test2/Util.pm","e878af8f4917d78f5fc347fad427f2e7":"/usr/local/lib/perl5/site_perl/5.36.0/URI/_idna.pm","cbe4a79127d0ba487bd45d0cb09284de":"/usr/local/lib/perl5/5.36.0/Test2/Event/Diag.pm","0921ec15aa13688a65c12919e85f1257":"/usr/local/lib/perl5/site_perl/5.36.0/x86_64-linux-gnu/Clone.pm","c53d8688b475d68a07ec834b0db0ba17":"/usr/local/lib/perl5/5.36.0/Pod/InputObjects.pm","7704708f836440510aafd15b6444ca3b":"/usr/local/lib/perl5/site_perl/5.36.0/x86_64-linux-gnu/Devel/Cover/DB/IO/Base.pm","d94c01dc1099970a487f2322dee686dc":"/usr/local/lib/perl5/site_perl/5.36.0/x86_64-linux-gnu/Cpanel/JSON/XS.pm","d93e45b091562bbf77f2ba1ed3e0df2d":"/usr/local/lib/perl5/5.36.0/Test2/EventFacet/Trace.pm","7a43b540967f12cfef86857a15ffb1b7":"/usr/local/lib/perl5/site_perl/5.36.0/x86_64-linux-gnu/Devel/Cover/Branch.pm","a2f9d605d631a7d25598976a505d4dbe":"blib/lib/WebService/Hexonet/Connector/SocketConfig.pm","b592b49a54a1ec878178ae677cbe81c4":"/usr/local/lib/perl5/5.36.0/Test2/Event/Ok.pm","be0a3a3f5baf138bac297d3ac0d4fa1c":"/usr/local/lib/perl5/5.36.0/x86_64-linux-gnu/mro.pm","56c1583124313db61d221a9c870764a2":"/usr/local/lib/perl5/site_perl/5.36.0/IO/Socket/SSL/PublicSuffix.pm","056ea8f31df117e2984d9bd3a77555dc":"/usr/local/lib/perl5/5.36.0/x86_64-linux-gnu/Encode/MIME/Name.pm","ccb3ff7195925d66a4322e9e2f7b5091":"/usr/local/lib/perl5/site_perl/5.36.0/x86_64-linux-gnu/Devel/Cover.pm","c6975dd56bc414fbd024a7340d1b087d":"/usr/local/lib/perl5/site_perl/5.36.0/x86_64-linux-gnu/Net/SSLeay.pm","91dd649602c04eaf8e17af42c908941f":"/usr/local/lib/perl5/site_perl/5.36.0/Sub/Uplevel.pm","0f014d2ce5fe26912d41e1244ea6b85a":"/usr/local/lib/perl5/5.36.0/Test2/Hub/Subtest.pm","9d50b7228fe0c8e79af0e408c9625e03":"/usr/local/lib/perl5/5.36.0/IO/Compress/Base/Common.pm","dc44773dabfc7e99483387db1a30004e":"blib/lib/WebService/Hexonet/Connector/ResponseTemplate.pm","78c343914bca8a919d1b2e1381b8d568":"/usr/local/lib/perl5/site_perl/5.36.0/x86_64-linux-gnu/Devel/Cover/Criterion.pm","e2c14331b1d6f0b643938d363d14421a":"/usr/local/lib/perl5/site_perl/5.36.0/URI/Escape.pm","160f99b3d83ed9af8987d13c413b16e8":"blib/lib/WebService/Hexonet/Connector/ResponseParser.pm","c57d902de33f6bd2ca24711913375b02":"/usr/local/lib/perl5/site_perl/5.36.0/HTTP/Request/Common.pm","d20acf9a517155ef8a0df99c835d8cee":"/usr/local/lib/perl5/5.36.0/x86_64-linux-gnu/Storable.pm","89aee93844d00cba15d851104ab1e849":"/usr/local/lib/perl5/site_perl/5.36.0/URI.pm","ed1e40382e6de89c590cf5f6a0f6851c":"/usr/local/lib/perl5/5.36.0/Test2/EventFacet/Control.pm","fc42321fdb0d6900590dfc64cd315bf3":"/usr/local/lib/perl5/5.36.0/Test/Builder.pm","a08fa87da18428a992d4d0eb46ffaa99":"/usr/local/lib/perl5/5.36.0/Test2/EventFacet/Meta.pm","b9a99572e2b04fd3ca91f7c3b4fd4db3":"/usr/local/lib/perl5/site_perl/5.36.0/URI/_generic.pm","210dab9da36aada13e0ff27582cf0fc0":"/usr/local/lib/perl5/5.36.0/Test2/EventFacet.pm","a9809127d0efa9b2bdc158916b216122":"/usr/local/lib/perl5/5.36.0/IO/Compress/Zlib/Extra.pm","c3280193456386938373947a4be14c6b":"/usr/local/lib/perl5/5.36.0/x86_64-linux-gnu/Encode/Alias.pm","447dda1594c407e8a622f957e739e5b3":"/usr/local/lib/perl5/5.36.0/Test2/EventFacet/Amnesty.pm","7b666786802ca73b2aefd368444f783c":"/usr/local/lib/perl5/5.36.0/x86_64-linux-gnu/Scalar/Util.pm","cff473a3c02b51a7eb2339129f42e77d":"/usr/local/lib/perl5/5.36.0/Test/More.pm","060f029d056cc44e536c7d278f69bf43":"/usr/local/lib/perl5/5.36.0/File/Basename.pm","d819466eebd3de3337b3a7a60cc77ebc":"/usr/local/lib/perl5/5.36.0/x86_64-linux-gnu/POSIX.pm","831db40c6d7e04c05c2a9de4ba96ef58":"/usr/local/lib/perl5/5.36.0/x86_64-linux-gnu/DynaLoader.pm","0c5436245872a678299839c0bbc15ca8":"/usr/local/lib/perl5/site_perl/5.36.0/Mozilla/CA.pm","bb63f552cb96fb6e3d4a4b7e3de34552":"/usr/local/lib/perl5/5.36.0/x86_64-linux-gnu/Compress/Raw/Zlib.pm","bddc465e351ad0508581b94ef112d322":"/usr/local/lib/perl5/5.36.0/SelectSaver.pm","85fcdb6fa4b4831af6fa2b14b6ca4809":"/usr/local/lib/perl5/5.36.0/Test2/EventFacet/Assert.pm","3e82792800b06742b5e275937e6637d5":"/usr/local/lib/perl5/5.36.0/File/Path.pm","2aaec5543bfb1c33e2b74d0d7acc80d1":"/usr/local/lib/perl5/5.36.0/x86_64-linux-gnu/Fcntl.pm","635654a31f3f76217b58bdb7c4a89112":"/usr/local/lib/perl5/site_perl/5.36.0/IO/Socket/SSL.pm","15bec5c271d5dcd5ecf2d7954844ac7a":"/usr/local/lib/perl5/site_perl/5.36.0/x86_64-linux-gnu/Devel/Cover/Statement.pm","bf252d457a243d20eabbd91292fcf3f4":"/usr/local/lib/perl5/5.36.0/x86_64-linux-gnu/File/Spec/Unix.pm","b4b1e951415e801a7e515c2868bccc02":"/usr/local/lib/perl5/site_perl/5.36.0/x86_64-linux-gnu/Devel/Cover/Pod.pm","3f40faa217288ed2cb4e34af87b6bfd6":"/usr/local/lib/perl5/5.36.0/x86_64-linux-gnu/Encode/Encoding.pm","ebb8b3cd5dfe43fd2a9fe399bdeeb001":"/usr/local/lib/perl5/5.36.0/Test2/Event/Waiting.pm","bf5d732f139e44dc64b3611149419c90":"/usr/local/lib/perl5/5.36.0/Test2/Event/Pass.pm","b5de2696c583dfec247af39b45288735":"/usr/local/lib/perl5/5.36.0/Digest/base.pm","d70adb9df5f7a6e6583da3e71c707bd7":"/usr/local/lib/perl5/site_perl/5.36.0/x86_64-linux-gnu/auto/Net/SSLeay/autosplit.ix","56cde6eba0f667ab56196613df3933c1":"/usr/local/lib/perl5/5.36.0/constant.pm","9e339558604d0457d48613ae56ec7bed":"/usr/local/lib/perl5/5.36.0/File/Find.pm","b549148d58a1b9d4703b0fd00c5c8a39":"/usr/local/lib/perl5/5.36.0/B/Deparse.pm","15e9a43fcf88774af24e3a55002e4881":"/usr/local/lib/perl5/site_perl/5.36.0/HTTP/Response.pm","39568935d59f143328ea6e20d30a5a9a":"/usr/local/lib/perl5/site_perl/5.36.0/x86_64-linux-gnu/Devel/Cover/Condition.pm","dd837b8e4fce755153920b69c07a6ea2":"blib/lib/WebService/Hexonet/Connector/APIClient.pm","2d8f6ce093a2176b982c0e12c0194b3b":"/usr/local/lib/perl5/5.36.0/warnings/register.pm","e4c17e4a07edf29b1642ab6f0ac64c89":"/usr/local/lib/perl5/5.36.0/x86_64-linux-gnu/IO/Socket/INET.pm","07de1d0ad623f2a16bdd6866d3850bf7":"/usr/local/lib/perl5/5.36.0/x86_64-linux-gnu/Data/Dumper.pm","857740ad96a03ed289618b93c4794004":"/usr/local/lib/perl5/site_perl/5.36.0/HTTP/Status.pm","2364822dd0abe4a193695e242c94a6b3":"/usr/local/lib/perl5/5.36.0/Test2/Event/V2.pm","a0bafa578f580f877256c79a1895f838":"/usr/local/lib/perl5/5.36.0/builtin.pm","baf89d59d2a24a3f24fcb06bc880e750":"/usr/local/lib/perl5/5.36.0/x86_64-linux-gnu/B.pm","320a85d3878cdd0aa0f70c53b41399d9":"/usr/local/lib/perl5/site_perl/5.36.0/HTTP/Message.pm","74a2550b5b0731996c0c825930003013":"/usr/local/lib/perl5/5.36.0/XSLoader.pm","54f6832e36166f99576275b9c125dd18":"/usr/local/lib/perl5/site_perl/5.36.0/x86_64-linux-gnu/Devel/Cover/Condition_or_2.pm","e1fafe006d8ad3fc9865cd2a7ac85ac4":"/usr/local/lib/perl5/5.36.0/Exporter/Heavy.pm","ef4d6025c95d315d07d9151920b319a0":"/usr/local/lib/perl5/5.36.0/x86_64-linux-gnu/Encode.pm","9d09b8b725073435f8b95bd73a871d2f":"/usr/local/lib/perl5/site_perl/5.36.0/HTTP/Config.pm","223e01ee29ca18c38e275f8fb9156596":"/usr/local/lib/perl5/5.36.0/blib.pm","ac129b0bf9fb64817490fa63e9aa1bec":"/usr/local/lib/perl5/site_perl/5.36.0/Test/Exception.pm","a850fcd07c6afd92aa12a113db4f227e":"/usr/local/lib/perl5/site_perl/5.36.0/Test/RequiresInternet.pm","3fbd3e7e972a0c889068520e3004e8f4":"/usr/local/lib/perl5/site_perl/5.36.0/LWP.pm","6de6be6e9d41a61b2a5629d4fa9a4dae":"/usr/local/lib/perl5/5.36.0/Test2/API/Instance.pm","da4d265b55968a07d7788f3f262349ef":"blib/lib/WebService/Hexonet/Connector/Record.pm","3e5ff5fb486c95945e10e79859dd5bfb":"/usr/local/lib/perl5/5.36.0/integer.pm","d146c13f7bfd3409fed4af15f4864f76":"/usr/local/lib/perl5/5.36.0/Test2/EventFacet/About.pm","c209cebb34567000291b3a5fc585ec5f":"/usr/local/lib/perl5/5.36.0/Test2/Util/ExternalMeta.pm","1d1c2a615ea7af958a6e1be08b25a9a4":"/usr/local/lib/perl5/5.36.0/Test2/EventFacet/Plan.pm","994259420fca711a010dcbf109bc263a":"/usr/local/lib/perl5/5.36.0/IO/Compress/Gzip/Constants.pm","993c68caf9c177347bb47a079f29fb61":"/usr/local/lib/perl5/5.36.0/Test2/Util/Trace.pm","9821a0a0679e92bc791b3b4ecf1b8a57":"/usr/local/lib/perl5/site_perl/5.36.0/URI/http.pm","b0398c10b6290859583e1a9991baac20":"/usr/local/lib/perl5/site_perl/5.36.0/URI/_punycode.pm","d73e6f08df8235b142e081faf5b6f2c0":"/usr/local/lib/perl5/5.36.0/if.pm","31ff421b3b5a5f3685f13a6d322c44cd":"/usr/local/lib/perl5/5.36.0/x86_64-linux-gnu/Config_heavy.pl","19e6b4f8d8bf04ab1b7155341e301d44":"/usr/local/lib/perl5/site_perl/5.36.0/Net/HTTPS.pm","19eb9be95022dc74914a463ed69b5a79":"/usr/local/lib/perl5/site_perl/5.36.0/x86_64-linux-gnu/Devel/Cover/Condition_or_3.pm","135b5f0b79b95fb2866bdc20d22270dc":"/usr/local/lib/perl5/site_perl/5.36.0/x86_64-linux-gnu/Devel/Cover/DB.pm","aca6211e00af2565f982fd281b565930":"/usr/local/lib/perl5/5.36.0/Test2/EventFacet/Error.pm","31b6105d6dc1cde54154291b86c8b285":"/usr/local/lib/perl5/5.36.0/strict.pm","0cb4732c1304c6aeaa4963da6a85271d":"/usr/local/lib/perl5/site_perl/5.36.0/List/MoreUtils.pm","75440d22cc5aa0f841292e94156cf110":"blib/lib/WebService/Hexonet/Connector/ResponseTemplateManager.pm","6d65f0081be2eae6069ae7dee45c4fe3":"blib/lib/WebService/Hexonet/Connector/Logger.pm","c8cb9e319ceb963d6c3d11c08c1e7e5a":"/usr/local/lib/perl5/5.36.0/x86_64-linux-gnu/IO/Socket/UNIX.pm","33ad206371ca7c91c4ef5d6c3b5ffddc":"/usr/local/lib/perl5/5.36.0/IO/Uncompress/Adapter/Inflate.pm","9149033b80fdfb37e1054cacb5a7cb47":"/usr/local/lib/perl5/5.36.0/x86_64-linux-gnu/Sub/Util.pm","c923fac66a84c6b5dbbf01250e7c1a42":"/usr/local/lib/perl5/5.36.0/AutoLoader.pm","5c5775bf38f3da638deb1b1efbc1b783":"/usr/local/lib/perl5/5.36.0/Test2/Formatter.pm","1be78d6a746ee7c74131a3924b415921":"/usr/local/lib/perl5/5.36.0/x86_64-linux-gnu/Errno.pm","50cf929c363afbff1dcf35712c48c8b7":"/usr/local/lib/perl5/5.36.0/x86_64-linux-gnu/PerlIO/scalar.pm","92ab1e76487f41226ce92a846fc91017":"/usr/local/lib/perl5/5.36.0/Tie/Hash.pm","e7fa81ec1a5792295ccf29ea21d6ae70":"/usr/local/lib/perl5/5.36.0/Test2/Event/Fail.pm","0e405b418b663a538b349bf2703ec0c1":"/usr/local/lib/perl5/5.36.0/x86_64-linux-gnu/File/Glob.pm","4693075868b4d0372e7ee8949c804797":"/usr/local/lib/perl5/site_perl/5.36.0/x86_64-linux-gnu/Devel/Cover/DB/Digests.pm","2818f5e24698c7868b844303f26c3628":"/usr/local/lib/perl5/5.36.0/Carp.pm","7167a8489aafb9faddbbe48c6480f47c":"/usr/local/lib/perl5/5.36.0/warnings.pm","bf41dfe84426559433a4ece7a763669b":"/usr/local/lib/perl5/site_perl/5.36.0/x86_64-linux-gnu/List/MoreUtils/XS.pm","cd1e35a68b59305535a0a8fb1c1309f0":"/usr/local/lib/perl5/5.36.0/Test/Builder/Formatter.pm","8ec3e4dafa8aa0335bee5a99cd904a00":"/usr/local/lib/perl5/5.36.0/Test2/Event/Subtest.pm","36e1b34f8175e036d57e51fd7d56becd":"/usr/local/lib/perl5/5.36.0/overloading.pm","778005f2a81e04eb8b2e575c8465f1ce":"/usr/local/lib/perl5/5.36.0/feature.pm","45930536e9e7db2e8e7fc49ac60416dc":"/usr/local/lib/perl5/5.36.0/IO/Uncompress/RawInflate.pm","d47d8e7cf14b5dfeff4f9102e569abad":"/usr/local/lib/perl5/5.36.0/Test2/Util/HashBase.pm","7bdd1d8dffa8d3500086802451fc020d":"/usr/local/lib/perl5/5.36.0/x86_64-linux-gnu/Encode/Config.pm","ccaabc641f09ff8b5b69495831711155":"/usr/local/lib/perl5/5.36.0/Test2/Formatter/TAP.pm","d1d29e6d3a6e72de8f296e50c8b5a913":"/usr/local/lib/perl5/5.36.0/Test2/Event/Note.pm","2508f2cf80552c1548bf8ed1c9502f87":"/usr/local/lib/perl5/site_perl/5.36.0/x86_64-linux-gnu/Devel/Cover/DB/File.pm","1abaf367f411a7a8634a80d8d12c3761":"/usr/local/lib/perl5/5.36.0/parent.pm","d9e0a0b5d33e80209b9e3fd77eafbdd1":"blib/lib/WebService/Hexonet/Connector.pm","cf39c6da232557143fd5ecceffa59163":"/usr/local/lib/perl5/5.36.0/Test2/Event/Exception.pm","b02c8b8daa03cff7c6881779b3995a49":"/usr/local/lib/perl5/5.36.0/Pod/Parser.pm","1fbae15efa7821b0c878a80bf20ba6da":"/usr/local/lib/perl5/5.36.0/bytes.pm","c9f8002ef62fc5e033fa7a4b5f13d57e":"/usr/local/lib/perl5/5.36.0/x86_64-linux-gnu/List/Util.pm","7f6ca9c3a5e324d2b930bf484f8368f8":"/usr/local/lib/perl5/site_perl/5.36.0/x86_64-linux-gnu/Devel/Cover/DB/IO.pm","b22199186624e60a0b0d12211e248606":"/usr/local/lib/perl5/site_perl/5.36.0/LWP/MemberMixin.pm","c6814d673ccdacef74079d9bbc5369a2":"/usr/local/lib/perl5/site_perl/5.36.0/x86_64-linux-gnu/Devel/Cover/DB/IO/JSON.pm","bd2c7672738ac4c374ad25b990d88a62":"/usr/local/lib/perl5/5.36.0/Test2/Event/Skip.pm","7d644c7ccecc817424b5b9c0cf4c591b":"/usr/local/lib/perl5/5.36.0/utf8.pm","bfa0c97e48b35aca8718149f113d8d64":"/usr/local/lib/perl5/5.36.0/x86_64-linux-gnu/IO/Socket.pm","0879211b3890c137188b5c9e3b38e2a0":"/usr/local/lib/perl5/site_perl/5.36.0/HTTP/Request.pm","2a866793567c00be69520ed947ad682c":"blib/lib/WebService/Hexonet/Connector/Response.pm","7613d0044331ded306a09d0b3dd751f5":"/usr/local/lib/perl5/site_perl/5.36.0/x86_64-linux-gnu/Devel/Cover/Util.pm","127147bd653ae88029960a75cf251a0c":"/usr/local/lib/perl5/site_perl/5.36.0/URI/_server.pm","daea87503b99899dee14347ef5f51606":"/usr/local/lib/perl5/site_perl/5.36.0/HTTP/Headers/Util.pm","90609ebac52a5bf8bca0215a7c6fd587":"/usr/local/lib/perl5/site_perl/5.36.0/x86_64-linux-gnu/Devel/Cover/DB/Structure.pm","f5d2f24647a6f9c3d356ceedca6aa28f":"/usr/local/lib/perl5/site_perl/5.36.0/HTTP/Headers.pm","c623d4e0d58bc9f293f6ab2b431356f1":"/usr/local/lib/perl5/5.36.0/Time/Local.pm","d53035083682c2a78d56d998ad7239d2":"/usr/local/lib/perl5/site_perl/5.36.0/Pod/Coverage.pm","de8e1120b69d14303cba4bdcfd60be48":"/usr/local/lib/perl5/5.36.0/Test2/Hub/Interceptor/Terminator.pm","7549464383743af13b7619e684b63fdf":"/usr/local/lib/perl5/5.36.0/Test2/EventFacet/Parent.pm","5af350c0061f6407f3fe96ef6b9ef295":"/usr/local/lib/perl5/5.36.0/x86_64-linux-gnu/attributes.pm","53ec480788926d9bd7e6e4a17dfd366f":"/usr/local/lib/perl5/site_perl/5.36.0/x86_64-linux-gnu/Devel/Cover/Condition_and_2.pm","cba56bde22624ef2137426fb334f5e88":"/usr/local/lib/perl5/site_perl/5.36.0/x86_64-linux-gnu/Devel/Cover/Time.pm","8a4b769958e5a51ed20eaa12a4a0734b":"/usr/local/lib/perl5/5.36.0/x86_64-linux-gnu/IO/Seekable.pm","243b0115937229411761ef353a5541ae":"/usr/local/lib/perl5/site_perl/5.36.0/Readonly.pm","8739ea47f27b259d42beb7085b0a993c":"/usr/local/lib/perl5/5.36.0/x86_64-linux-gnu/IO/File.pm","487075252d32e5e742a5b7e484127ab4":"/usr/local/lib/perl5/5.36.0/File/Copy.pm","5c489ae3174bcbc58e6dc74bc1acabf6":"/usr/local/lib/perl5/site_perl/5.36.0/LWP/Protocol/http.pm","e649ab91a4890ab2543e821daef73079":"/usr/local/lib/perl5/site_perl/5.36.0/Devel/Symdump.pm","3a9c301b324592aef1efae28db633e13":"/usr/local/lib/perl5/5.36.0/Test2/API.pm","6420d689c07bb0257f37753566aec0a2":"/usr/local/lib/perl5/site_perl/5.36.0/B/Debug.pm","3497901c0be31411786da0339b602dd2":"/usr/local/lib/perl5/5.36.0/Test2/EventFacet/Hub.pm","f4d72841ab28d69c261dccb6567d4330":"/usr/local/lib/perl5/site_perl/5.36.0/x86_64-linux-gnu/Devel/Cover/Dumper.pm","40f6af6eedf793474e122fee93949428":"/usr/local/lib/perl5/site_perl/5.36.0/List/MoreUtils/PP.pm","13e97e2e035e935d0b4ba1aa03a62f99":"/usr/local/lib/perl5/site_perl/5.36.0/HTTP/Date.pm","bd4812ceab0afd05e1c985d727a8b3a1":"/usr/local/lib/perl5/site_perl/5.36.0/Try/Tiny.pm","3741fe9186eb501745a73aacf8dc4900":"/usr/local/lib/perl5/site_perl/5.36.0/Pod/Coverage/CountParents.pm","f9224a1ebfd6cff37c65c409748757c0":"/usr/local/lib/perl5/site_perl/5.36.0/Net/HTTP/Methods.pm","6b82ddf328037a8c393f2c4413a9448c":"/usr/local/lib/perl5/5.36.0/Test/Builder/TodoDiag.pm","23b7d65e22b42927d6fcec631ab1c211":"/usr/local/lib/perl5/5.36.0/base.pm","e1a0cdc7842bcc1d5da2737c93e11ee5":"/usr/local/lib/perl5/site_perl/5.36.0/x86_64-linux-gnu/Devel/Cover/Condition_xor_4.pm","11797d93cbbf80cfeddc3dcd4ffc973c":"t/Hexonet-connector.t","f543801ae1c797b39771adcb7bf61534":"/usr/local/lib/perl5/5.36.0/Test/Builder/Module.pm","7fa64838505e4c422ed93ac3bb557671":"/usr/local/lib/perl5/5.36.0/deprecate.pm","6291b9bc736f024da94269567d2394a5":"/usr/local/lib/perl5/5.36.0/Test2/API/Stack.pm","9e021c781988c7389ba90117a6e342eb":"/usr/local/lib/perl5/5.36.0/Test2/Event/Plan.pm","b5bc84e5bfa3004326504b9e6eb608f8":"/usr/local/lib/perl5/site_perl/5.36.0/JSON/MaybeXS.pm","d00a2eba7b905b238518c281c1e568e4":"/usr/local/lib/perl5/5.36.0/Test2/Hub.pm","1212e080ddc044e44a9ae4c8350f1338":"/usr/local/lib/perl5/5.36.0/Symbol.pm","e7dc2c92e9d1c6cb9d5e6fd70f7d325f":"/usr/local/lib/perl5/5.36.0/IO/Uncompress/Base.pm","6c76f7a7b71807edb5c266404fb0e0db":"/usr/local/lib/perl5/site_perl/5.36.0/LWP/UserAgent.pm","5d974e0be05f6905bfc92ea2bbf4eb7d":"/usr/local/lib/perl5/site_perl/5.36.0/x86_64-linux-gnu/Devel/Cover/Subroutine.pm","7e6ae4f337b8e4894165b438ee6cc4ef":"/usr/local/lib/perl5/site_perl/5.36.0/LWP/Protocol.pm","80de46c8bd525d4e9b91fcaae5d978ef":"/usr/local/lib/perl5/5.36.0/Test2/Event/Bail.pm","d7cc525fd1b7a2f225a989597d05d1c9":"/usr/local/lib/perl5/5.36.0/x86_64-linux-gnu/IO.pm","6fa4d12fa3a3472bc89a811f18b29ae9":"/usr/local/lib/perl5/site_perl/5.36.0/x86_64-linux-gnu/Devel/Cover/Condition_and_3.pm","9ac6b836ee45f6e08e5c8a84cee5e619":"/usr/local/lib/perl5/5.36.0/Exporter.pm","364a0d4ff900a5eeb481e80e8f345506":"/usr/local/lib/perl5/5.36.0/Test2/EventFacet/Info.pm"} \ No newline at end of file diff --git a/cover_db/structure/0473a9b827b1f189c159a6404d68f9af b/cover_db/structure/0473a9b827b1f189c159a6404d68f9af new file mode 100644 index 0000000..8f2224d --- /dev/null +++ b/cover_db/structure/0473a9b827b1f189c159a6404d68f9af @@ -0,0 +1 @@ +{"start":{"3":{"BEGIN":[{"time":null,"statement":null,"branch":null,"subroutine":null,"pod":null,"condition":null}]},"27":{"getData":[{"time":null,"statement":17,"branch":null,"pod":2,"condition":null,"subroutine":5}]},"4":{"BEGIN":[{"condition":null,"pod":null,"subroutine":1,"branch":null,"statement":2,"time":null}]},"5":{"BEGIN":[{"branch":null,"statement":5,"time":null,"condition":null,"pod":null,"subroutine":2}]},"33":{"getDataByIndex":[{"branch":null,"statement":19,"time":null,"subroutine":6,"condition":null,"pod":3}]},"11":{"new":[{"time":null,"statement":8,"branch":null,"subroutine":3,"pod":null,"condition":null}]},"42":{"hasDataIndex":[{"branch":1,"time":null,"statement":23,"condition":null,"pod":4,"subroutine":7}]},"21":{"getKey":[{"branch":null,"time":null,"statement":15,"subroutine":4,"condition":null,"pod":1}]},"-1":{"__COVER__":[{"branch":1,"statement":26,"time":null,"subroutine":8,"condition":null,"pod":5}]}},"pod":[[11,"new"],[21,"getKey"],[27,"getData"],[33,"getDataByIndex"],[42,"hasDataIndex"]],"digest":"0473a9b827b1f189c159a6404d68f9af","subroutine":[[3,"BEGIN"],[4,"BEGIN"],[5,"BEGIN"],[11,"new"],[21,"getKey"],[27,"getData"],[33,"getDataByIndex"],[42,"hasDataIndex"]],"file":"blib/lib/WebService/Hexonet/Connector/Column.pm","statement":[3,3,4,4,4,5,5,5,11,12,13,14,14,15,16,21,22,27,28,33,34,35,37,42,43,44],"branch":[[35,{"text":"if $self->hasDataIndex($idx)"}]]} \ No newline at end of file diff --git a/cover_db/structure/069a57f70d5e9c8fd8c33c9d7b7cb383.lock b/cover_db/structure/0473a9b827b1f189c159a6404d68f9af.lock similarity index 100% rename from cover_db/structure/069a57f70d5e9c8fd8c33c9d7b7cb383.lock rename to cover_db/structure/0473a9b827b1f189c159a6404d68f9af.lock diff --git a/cover_db/structure/069a57f70d5e9c8fd8c33c9d7b7cb383 b/cover_db/structure/069a57f70d5e9c8fd8c33c9d7b7cb383 deleted file mode 100644 index e89e835..0000000 --- a/cover_db/structure/069a57f70d5e9c8fd8c33c9d7b7cb383 +++ /dev/null @@ -1 +0,0 @@ -{"pod":[[11,"parse"],[40,"serialize"]],"branch":[[20,{"text":"unless (defined $hash{'PROPERTY'})"}],[25,{"text":"if (defined $hash{'PROPERTY'}{$prop}) { }"}],[19,{"text":"if ($attr =~ /^property\\[([^\\]]*)\\]/imsux) { }"}],[15,{"text":"if (/^([^\\=]*[^\\t\\= ])[\\t ]*=[\\t ]*(.+)/msux)"}],[42,{"text":"if (defined $h->{'PROPERTY'})"}],[52,{"text":"if (defined $h->{'CODE'})"}],[55,{"text":"if (defined $h->{'DESCRIPTION'})"}],[58,{"text":"if (defined $h->{'QUEUETIME'})"}],[61,{"text":"if (defined $h->{'RUNTIME'})"}]],"subroutine":[[3,"BEGIN"],[4,"BEGIN"],[5,"BEGIN"],[11,"parse"],[40,"serialize"]],"file":"blib/lib/WebService/Hexonet/Connector/ResponseParser.pm","start":{"40":{"serialize":[{"time":null,"subroutine":4,"statement":27,"branch":4,"pod":1,"condition":null}]},"11":{"parse":[{"subroutine":3,"time":null,"statement":8,"branch":null,"pod":null,"condition":null}]},"3":{"BEGIN":[{"condition":null,"pod":null,"branch":null,"statement":null,"time":null,"subroutine":null}]},"-1":{"__COVER__":[{"pod":2,"condition":null,"branch":9,"statement":48,"subroutine":5,"time":null}]},"4":{"BEGIN":[{"condition":null,"pod":null,"branch":null,"statement":2,"subroutine":1,"time":null}]},"5":{"BEGIN":[{"statement":5,"subroutine":2,"time":null,"condition":null,"pod":null,"branch":null}]}},"digest":"069a57f70d5e9c8fd8c33c9d7b7cb383","statement":[3,3,4,4,4,5,5,5,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26,26,28,31,35,40,41,42,43,44,44,45,46,46,47,48,52,53,55,56,58,59,61,62,64,65]} \ No newline at end of file diff --git a/cover_db/structure/0eabf5a393a423c46b7daf427daa966d b/cover_db/structure/0eabf5a393a423c46b7daf427daa966d deleted file mode 100644 index 5a0edaa..0000000 --- a/cover_db/structure/0eabf5a393a423c46b7daf427daa966d +++ /dev/null @@ -1 +0,0 @@ -{"subroutine":[[3,"BEGIN"],[4,"BEGIN"],[5,"BEGIN"],[11,"new"],[17,"getData"],[23,"getDataByKey"],[32,"hasData"]],"pod":[[11,"new"],[17,"getData"],[23,"getDataByKey"],[32,"hasData"]],"branch":[[25,{"text":"if $self->hasData($key)"}]],"file":"blib/lib/WebService/Hexonet/Connector/Record.pm","statement":[3,3,4,4,4,5,5,5,11,12,17,18,23,24,25,27,32,33,34],"start":{"23":{"getDataByKey":[{"time":null,"subroutine":5,"statement":12,"branch":null,"pod":2,"condition":null}]},"11":{"new":[{"statement":8,"time":null,"subroutine":3,"condition":null,"pod":null,"branch":null}]},"17":{"getData":[{"statement":10,"subroutine":4,"time":null,"pod":1,"condition":null,"branch":null}]},"-1":{"__COVER__":[{"subroutine":7,"time":null,"statement":19,"branch":1,"pod":4,"condition":null}]},"4":{"BEGIN":[{"subroutine":1,"time":null,"statement":2,"branch":null,"pod":null,"condition":null}]},"5":{"BEGIN":[{"time":null,"subroutine":2,"statement":5,"branch":null,"pod":null,"condition":null}]},"3":{"BEGIN":[{"statement":null,"subroutine":null,"time":null,"condition":null,"pod":null,"branch":null}]},"32":{"hasData":[{"time":null,"subroutine":6,"statement":16,"branch":1,"condition":null,"pod":3}]}},"digest":"0eabf5a393a423c46b7daf427daa966d"} \ No newline at end of file diff --git a/cover_db/structure/160f99b3d83ed9af8987d13c413b16e8 b/cover_db/structure/160f99b3d83ed9af8987d13c413b16e8 new file mode 100644 index 0000000..126a212 --- /dev/null +++ b/cover_db/structure/160f99b3d83ed9af8987d13c413b16e8 @@ -0,0 +1 @@ +{"pod":[[11,"parse"],[40,"serialize"]],"start":{"-1":{"__COVER__":[{"statement":48,"time":null,"branch":9,"pod":2,"condition":null,"subroutine":5}]},"11":{"parse":[{"condition":null,"pod":null,"subroutine":3,"branch":null,"time":null,"statement":8}]},"40":{"serialize":[{"time":null,"statement":27,"branch":4,"pod":1,"condition":null,"subroutine":4}]},"4":{"BEGIN":[{"subroutine":1,"condition":null,"pod":null,"branch":null,"statement":2,"time":null}]},"5":{"BEGIN":[{"branch":null,"statement":5,"time":null,"condition":null,"pod":null,"subroutine":2}]},"3":{"BEGIN":[{"subroutine":null,"condition":null,"pod":null,"branch":null,"time":null,"statement":null}]}},"digest":"160f99b3d83ed9af8987d13c413b16e8","subroutine":[[3,"BEGIN"],[4,"BEGIN"],[5,"BEGIN"],[11,"parse"],[40,"serialize"]],"file":"blib/lib/WebService/Hexonet/Connector/ResponseParser.pm","statement":[3,3,4,4,4,5,5,5,11,12,13,14,15,16,17,18,19,20,21,23,24,25,26,26,28,31,35,40,41,42,43,44,44,45,46,46,47,48,52,53,55,56,58,59,61,62,64,65],"branch":[[20,{"text":"unless (defined $hash{'PROPERTY'})"}],[25,{"text":"if (defined $hash{'PROPERTY'}{$prop}) { }"}],[19,{"text":"if ($attr =~ /^property\\[([^\\]]*)\\]/imsux) { }"}],[15,{"text":"if (/^([^\\=]*[^\\t\\= ])[\\t ]*=[\\t ]*(.+)/msux)"}],[42,{"text":"if (defined $h->{'PROPERTY'})"}],[52,{"text":"if (defined $h->{'CODE'})"}],[55,{"text":"if (defined $h->{'DESCRIPTION'})"}],[58,{"text":"if (defined $h->{'QUEUETIME'})"}],[61,{"text":"if (defined $h->{'RUNTIME'})"}]]} \ No newline at end of file diff --git a/cover_db/structure/0eabf5a393a423c46b7daf427daa966d.lock b/cover_db/structure/160f99b3d83ed9af8987d13c413b16e8.lock similarity index 100% rename from cover_db/structure/0eabf5a393a423c46b7daf427daa966d.lock rename to cover_db/structure/160f99b3d83ed9af8987d13c413b16e8.lock diff --git a/cover_db/structure/17052fc984b13fd6bcb17846c15d2bc2 b/cover_db/structure/17052fc984b13fd6bcb17846c15d2bc2 deleted file mode 100644 index 5563c45..0000000 --- a/cover_db/structure/17052fc984b13fd6bcb17846c15d2bc2 +++ /dev/null @@ -1 +0,0 @@ -{"file":"blib/lib/WebService/Hexonet/Connector.pm","digest":"17052fc984b13fd6bcb17846c15d2bc2","start":{"8":{"BEGIN":[{"subroutine":5,"time":null,"statement":14,"branch":null,"condition":null,"pod":null}]},"10":{"BEGIN":[{"condition":null,"pod":null,"branch":null,"statement":20,"subroutine":7,"time":null}]},"5":{"BEGIN":[{"statement":5,"subroutine":2,"time":null,"condition":null,"pod":null,"branch":null}]},"-1":{"__COVER__":[{"statement":32,"subroutine":11,"time":null,"pod":null,"condition":null,"branch":null}]},"4":{"BEGIN":[{"condition":null,"pod":null,"branch":null,"statement":2,"subroutine":1,"time":null}]},"13":{"BEGIN":[{"time":null,"subroutine":10,"statement":29,"branch":null,"condition":null,"pod":null}]},"11":{"BEGIN":[{"branch":null,"condition":null,"pod":null,"time":null,"subroutine":8,"statement":23}]},"9":{"BEGIN":[{"statement":17,"subroutine":6,"time":null,"pod":null,"condition":null,"branch":null}]},"6":{"BEGIN":[{"branch":null,"condition":null,"pod":null,"time":null,"subroutine":3,"statement":8}]},"3":{"BEGIN":[{"subroutine":null,"time":null,"statement":null,"branch":null,"condition":null,"pod":null}]},"7":{"BEGIN":[{"time":null,"subroutine":4,"statement":11,"branch":null,"pod":null,"condition":null}]},"12":{"BEGIN":[{"statement":26,"time":null,"subroutine":9,"condition":null,"pod":null,"branch":null}]}},"subroutine":[[3,"BEGIN"],[4,"BEGIN"],[5,"BEGIN"],[6,"BEGIN"],[7,"BEGIN"],[8,"BEGIN"],[9,"BEGIN"],[10,"BEGIN"],[11,"BEGIN"],[12,"BEGIN"],[13,"BEGIN"]],"statement":[3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8,9,9,9,10,10,10,11,11,11,12,12,12,13,13,13]} \ No newline at end of file diff --git a/cover_db/structure/2a866793567c00be69520ed947ad682c b/cover_db/structure/2a866793567c00be69520ed947ad682c new file mode 100644 index 0000000..d2784f3 --- /dev/null +++ b/cover_db/structure/2a866793567c00be69520ed947ad682c @@ -0,0 +1 @@ +{"subroutine":[[3,"BEGIN"],[4,"BEGIN"],[5,"BEGIN"],[6,"BEGIN"],[7,"BEGIN"],[8,"BEGIN"],[9,"BEGIN"],[10,"BEGIN"],[11,"BEGIN"],[18,"new"],[76,"addColumn"],[84,"addRecord"],[91,"getColumn"],[93,"__ANON__"],[101,"getColumnIndex"],[109,"getColumnKeys"],[115,"getColumns"],[121,"getCommand"],[127,"getCommandPlain"],[138,"getCurrentPageNumber"],[149,"getCurrentRecord"],[157,"getFirstRecordIndex"],[172,"getLastRecordIndex"],[189,"getListHash"],[206,"getNextRecord"],[214,"getNextPageNumber"],[227,"getNumberOfPages"],[238,"getPagination"],[255,"getPreviousPageNumber"],[267,"getPreviousRecord"],[275,"getRecord"],[284,"getRecords"],[290,"getRecordsCount"],[297,"getRecordsTotalCount"],[310,"getRecordsLimitation"],[323,"hasNextPage"],[337,"hasPreviousPage"],[351,"rewindRecordList"],[358,"_hasColumn"],[359,"__ANON__"],[365,"_hasCurrentRecord"],[372,"_hasNextRecord"],[380,"_hasPreviousRecord"]],"start":{"297":{"getRecordsTotalCount":[{"pod":23,"condition":3,"subroutine":33,"statement":182,"time":null,"branch":25}]},"-1":{"__COVER__":[{"time":null,"statement":231,"branch":33,"pod":28,"condition":6,"subroutine":43}]},"76":{"addColumn":[{"branch":7,"statement":69,"time":null,"condition":null,"pod":1,"subroutine":10}]},"121":{"getCommand":[{"subroutine":17,"pod":7,"condition":null,"time":null,"statement":96,"branch":9}]},"149":{"getCurrentRecord":[{"pod":10,"condition":1,"subroutine":20,"time":null,"statement":111,"branch":10}]},"275":{"getRecord":[{"time":null,"statement":171,"branch":24,"pod":20,"condition":2,"subroutine":30}]},"7":{"BEGIN":[{"condition":null,"pod":null,"subroutine":4,"branch":null,"time":null,"statement":11}]},"157":{"getFirstRecordIndex":[{"branch":11,"statement":114,"time":null,"condition":1,"pod":11,"subroutine":21}]},"214":{"getNextPageNumber":[{"pod":15,"condition":1,"subroutine":25,"time":null,"statement":144,"branch":18}]},"365":{"_hasCurrentRecord":[{"subroutine":40,"condition":3,"pod":28,"branch":33,"time":null,"statement":220}]},"3":{"BEGIN":[{"pod":null,"condition":null,"subroutine":null,"time":null,"statement":null,"branch":null}]},"380":{"_hasPreviousRecord":[{"subroutine":42,"condition":5,"pod":28,"branch":33,"statement":229,"time":null}]},"359":{"__ANON__":[{"branch":33,"statement":220,"time":null,"condition":3,"pod":28,"subroutine":39}]},"18":{"new":[{"branch":null,"time":null,"statement":26,"subroutine":9,"condition":null,"pod":null}]},"84":{"addRecord":[{"statement":75,"time":null,"branch":7,"subroutine":11,"pod":2,"condition":null}]},"255":{"getPreviousPageNumber":[{"condition":2,"pod":18,"subroutine":28,"branch":21,"time":null,"statement":161}]},"172":{"getLastRecordIndex":[{"statement":124,"time":null,"branch":14,"subroutine":22,"pod":12,"condition":1}]},"109":{"getColumnKeys":[{"pod":5,"condition":null,"subroutine":15,"statement":90,"time":null,"branch":9}]},"337":{"hasPreviousPage":[{"subroutine":36,"pod":26,"condition":3,"time":null,"statement":204,"branch":31}]},"238":{"getPagination":[{"pod":17,"condition":2,"subroutine":27,"statement":158,"time":null,"branch":21}]},"372":{"_hasNextRecord":[{"branch":33,"statement":224,"time":null,"condition":4,"pod":28,"subroutine":41}]},"227":{"getNumberOfPages":[{"branch":20,"time":null,"statement":152,"subroutine":26,"condition":1,"pod":16}]},"267":{"getPreviousRecord":[{"statement":168,"time":null,"branch":23,"subroutine":29,"pod":19,"condition":2}]},"5":{"BEGIN":[{"statement":5,"time":null,"branch":null,"subroutine":2,"pod":null,"condition":null}]},"9":{"BEGIN":[{"statement":17,"time":null,"branch":null,"pod":null,"condition":null,"subroutine":6}]},"4":{"BEGIN":[{"branch":null,"statement":2,"time":null,"condition":null,"pod":null,"subroutine":1}]},"10":{"BEGIN":[{"time":null,"statement":20,"branch":null,"subroutine":7,"pod":null,"condition":null}]},"323":{"hasNextPage":[{"branch":29,"time":null,"statement":196,"subroutine":35,"condition":3,"pod":25}]},"284":{"getRecords":[{"pod":21,"condition":3,"subroutine":31,"time":null,"statement":175,"branch":25}]},"8":{"BEGIN":[{"time":null,"statement":14,"branch":null,"pod":null,"condition":null,"subroutine":5}]},"189":{"getListHash":[{"condition":1,"pod":13,"subroutine":23,"branch":17,"statement":134,"time":null}]},"91":{"getColumn":[{"pod":3,"condition":null,"subroutine":12,"statement":79,"time":null,"branch":7}]},"358":{"_hasColumn":[{"pod":28,"condition":3,"subroutine":38,"statement":215,"time":null,"branch":33}]},"310":{"getRecordsLimitation":[{"branch":27,"statement":189,"time":null,"condition":3,"pod":24,"subroutine":34}]},"6":{"BEGIN":[{"condition":null,"pod":null,"subroutine":3,"branch":null,"statement":8,"time":null}]},"290":{"getRecordsCount":[{"branch":25,"statement":178,"time":null,"subroutine":32,"condition":3,"pod":22}]},"206":{"getNextRecord":[{"condition":1,"pod":14,"subroutine":24,"branch":17,"statement":141,"time":null}]},"101":{"getColumnIndex":[{"condition":null,"pod":4,"subroutine":14,"branch":8,"statement":86,"time":null}]},"115":{"getColumns":[{"subroutine":16,"condition":null,"pod":6,"branch":9,"statement":93,"time":null}]},"127":{"getCommandPlain":[{"subroutine":18,"pod":8,"condition":null,"time":null,"statement":98,"branch":9}]},"351":{"rewindRecordList":[{"branch":33,"time":null,"statement":212,"condition":3,"pod":27,"subroutine":37}]},"93":{"__ANON__":[{"time":null,"statement":86,"branch":8,"pod":4,"condition":null,"subroutine":13}]},"11":{"BEGIN":[{"branch":null,"time":null,"statement":23,"condition":null,"pod":null,"subroutine":8}]},"138":{"getCurrentPageNumber":[{"condition":null,"pod":9,"subroutine":19,"branch":9,"statement":105,"time":null}]}},"pod":[[18,"new"],[76,"addColumn"],[84,"addRecord"],[91,"getColumn"],[101,"getColumnIndex"],[109,"getColumnKeys"],[115,"getColumns"],[121,"getCommand"],[127,"getCommandPlain"],[138,"getCurrentPageNumber"],[149,"getCurrentRecord"],[157,"getFirstRecordIndex"],[172,"getLastRecordIndex"],[189,"getListHash"],[206,"getNextRecord"],[214,"getNextPageNumber"],[227,"getNumberOfPages"],[238,"getPagination"],[255,"getPreviousPageNumber"],[267,"getPreviousRecord"],[275,"getRecord"],[284,"getRecords"],[290,"getRecordsCount"],[297,"getRecordsTotalCount"],[310,"getRecordsLimitation"],[323,"hasNextPage"],[337,"hasPreviousPage"],[351,"rewindRecordList"]],"digest":"2a866793567c00be69520ed947ad682c","condition":[[141,{"left":"defined $first","op":"and","type":"and_3","right":"$limit > 0"}],[230,{"type":"and_3","op":"and","left":"$t > 0","right":"$limit > 0"}],[276,{"type":"and_3","op":"and","left":"$idx >= 0","right":"$self->getRecordsCount > $idx"}],[367,{"left":"$len > 0 && $self->{'recordIndex'} >= 0","type":"and_3","op":"&&","right":"$self->{'recordIndex'} < $len"}],[375,{"right":"$next < $len","left":"$self->_hasCurrentRecord","type":"and_3","op":"&&"}],[381,{"right":"$self->_hasCurrentRecord","left":"$self->{'recordIndex'} > 0","type":"and_3","op":"&&"}]],"statement":[3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8,9,9,9,10,10,10,11,11,11,18,19,21,22,23,25,25,26,27,28,30,31,33,34,35,37,39,40,41,42,44,45,46,46,47,48,49,49,50,51,52,53,56,57,58,59,60,61,62,63,64,68,71,76,77,77,78,78,79,84,85,85,86,91,92,93,93,93,94,96,101,102,103,104,109,110,110,115,116,116,121,122,127,128,129,129,130,131,133,138,139,140,141,142,144,149,150,152,157,158,159,160,161,162,165,165,166,167,172,173,174,175,176,177,180,181,182,184,189,190,191,191,192,194,201,206,207,209,214,215,216,217,219,220,221,222,227,228,229,230,231,233,238,239,250,255,256,257,258,260,261,262,267,268,270,275,276,277,279,284,285,285,290,291,291,292,297,298,299,300,301,302,305,310,311,312,313,314,315,318,323,324,325,326,328,329,330,332,337,338,339,340,342,343,344,346,351,352,353,358,359,359,359,360,365,366,366,367,372,373,374,374,375,380,381],"file":"blib/lib/WebService/Hexonet/Connector/Response.pm","branch":[[22,{"text":"unless (defined $ph)"}],[21,{"text":"if ($self->{'raw'} =~ /[{][[:upper:]_]+[}]/gmsux)"}],[35,{"text":"if (defined $self->{'command'}{'PASSWORD'})"}],[52,{"text":"if ($len > $count)"}],[63,{"text":"if (defined $v)"}],[61,{"text":"if (defined $col)"}],[45,{"text":"if (defined $h->{'PROPERTY'})"}],[92,{"text":"if ($self->_hasColumn($key))"}],[103,{"text":"if defined $col"}],[141,{"text":"if (defined $first and $limit > 0)"}],[150,{"text":"if $self->_hasCurrentRecord"}],[161,{"text":"if (defined $f)"}],[159,{"text":"if (defined $col)"}],[166,{"text":"if $len > 0"}],[176,{"text":"if (defined $l)"}],[174,{"text":"if (defined $col)"}],[181,{"text":"if ($len > 0)"}],[207,{"text":"if $self->_hasNextRecord"}],[216,{"text":"if ($cp < 0)"}],[221,{"text":"if $page <= $pages"}],[230,{"text":"if ($t > 0 and $limit > 0)"}],[257,{"text":"if ($cp < 0)"}],[261,{"text":"if $np > 0"}],[268,{"text":"if $self->_hasPreviousRecord"}],[276,{"text":"if ($idx >= 0 and $self->getRecordsCount > $idx)"}],[301,{"text":"if (defined $t)"}],[299,{"text":"if (defined $col)"}],[314,{"text":"if (defined $l)"}],[312,{"text":"if (defined $col)"}],[325,{"text":"if ($cp < 0)"}],[329,{"text":"if ($np <= $self->getNumberOfPages)"}],[339,{"text":"if ($cp < 0)"}],[343,{"text":"if ($pp > 0)"}]]} \ No newline at end of file diff --git a/cover_db/structure/17052fc984b13fd6bcb17846c15d2bc2.lock b/cover_db/structure/2a866793567c00be69520ed947ad682c.lock similarity index 100% rename from cover_db/structure/17052fc984b13fd6bcb17846c15d2bc2.lock rename to cover_db/structure/2a866793567c00be69520ed947ad682c.lock diff --git a/cover_db/structure/2be339104e710ca5ea8dbf70edc2012f b/cover_db/structure/2be339104e710ca5ea8dbf70edc2012f deleted file mode 100644 index 042c3ba..0000000 --- a/cover_db/structure/2be339104e710ca5ea8dbf70edc2012f +++ /dev/null @@ -1 +0,0 @@ -{"file":"blib/lib/WebService/Hexonet/Connector/APIClient.pm","condition":[[55,{"type":"and_3","left":"defined $logger","right":"$logger->can(\"log\")","op":"and"}],[79,{"left":"defined $secured","right":"$secured == 1","op":"and","type":"and_3"}],[94,{"type":"and_3","right":"$secured == 1","op":"and","left":"defined $secured"}],[140,{"left":"defined $modules","op":"and","right":"length $modules > 0","type":"and_3"}],[259,{"right":"''","op":"||","left":"$otp","type":"or_2"}]],"pod":[[30,"new"],[47,"setDefaultLogger"],[54,"setCustomLogger"],[63,"enableDebugMode"],[70,"disableDebugMode"],[77,"getPOSTData"],[107,"getSession"],[117,"getURL"],[123,"getUserAgent"],[135,"setUserAgent"],[149,"getProxy"],[158,"setProxy"],[169,"getReferer"],[178,"setReferer"],[189,"getVersion"],[195,"saveSession"],[205,"reuseSession"],[213,"setURL"],[220,"setOTP"],[227,"setSession"],[234,"setRemoteIPAddress"],[241,"setCredentials"],[249,"setRoleCredentials"],[257,"login"],[275,"loginExtended"],[301,"logout"],[311,"request"],[352,"requestNextResponsePage"],[374,"requestAllResponsePages"],[393,"setUserView"],[400,"resetUserView"],[407,"useDefaultConnectionSetup"],[413,"useHighPerformanceConnectionSetup"],[419,"useOTESystem"],[427,"useLIVESystem"]],"branch":[[55,{"text":"if (defined $logger and $logger->can(\"log\"))"}],[79,{"text":"if (defined $secured and $secured == 1)"}],[85,{"text":"if (defined $cmd->{$key})"}],[83,{"text":"if (ref $cmd eq 'HASH') { }"}],[94,{"text":"if (defined $secured and $secured == 1)"}],[98,{"text":"if (utf8::is_utf8($tmp))"}],[109,{"text":"if (length $sessid)"}],[124,{"text":"unless (length $self->{'ua'})"}],[140,{"text":"if (defined $modules and length $modules > 0)"}],[150,{"text":"if (exists $self->{'curlopts'}{'PROXY'})"}],[159,{"text":"if (length $proxy == 0) { }"}],[170,{"text":"if (exists $self->{'curlopts'}{'REFERER'})"}],[179,{"text":"if (length $referer == 0) { }"}],[264,{"text":"if (defined $col)"}],[261,{"text":"if ($rr->isSuccess)"}],[278,{"text":"unless (defined $otpc)"}],[290,{"text":"if (defined $col)"}],[287,{"text":"if ($rr->isSuccess)"}],[303,{"text":"if ($rr->isSuccess)"}],[327,{"text":"if ($referer)"}],[331,{"text":"if ($proxy)"}],[338,{"text":"if ($self->{'debugMode'})"}],[343,{"text":"if ($self->{'debugMode'})"}],[336,{"text":"if ($r->is_success) { }"}],[354,{"text":"if (defined $mycmd->{'LAST'})"}],[358,{"text":"if (defined $mycmd->{'FIRST'})"}],[364,{"text":"if ($first < $total)"}],[438,{"text":"if ($newkey ne $key)"}],[441,{"text":"if (ref $cmd->{$newkey} eq \"ARRAY\")"}],[458,{"text":"if ($cmd->{'COMMAND'} =~ /^CONVERTIDN$/imsux)"}],[462,{"text":"if (scalar @keys == 0)"}],[469,{"text":"if ($val =~ /[^[:lower:]\\d. -]/imsux)"}],[474,{"text":"if (scalar @toconvert == 0)"}],[484,{"text":"if ($col)"}],[482,{"text":"if ($r->isSuccess)"}]],"subroutine":[[3,"BEGIN"],[4,"BEGIN"],[5,"BEGIN"],[6,"BEGIN"],[7,"BEGIN"],[8,"BEGIN"],[9,"BEGIN"],[10,"BEGIN"],[11,"BEGIN"],[12,"BEGIN"],[13,"BEGIN"],[14,"BEGIN"],[15,"BEGIN"],[16,"BEGIN"],[30,"new"],[47,"setDefaultLogger"],[54,"setCustomLogger"],[63,"enableDebugMode"],[70,"disableDebugMode"],[77,"getPOSTData"],[107,"getSession"],[117,"getURL"],[123,"getUserAgent"],[135,"setUserAgent"],[149,"getProxy"],[158,"setProxy"],[169,"getReferer"],[178,"setReferer"],[189,"getVersion"],[195,"saveSession"],[205,"reuseSession"],[213,"setURL"],[220,"setOTP"],[227,"setSession"],[234,"setRemoteIPAddress"],[241,"setCredentials"],[249,"setRoleCredentials"],[257,"login"],[275,"loginExtended"],[301,"logout"],[311,"request"],[352,"requestNextResponsePage"],[374,"requestAllResponsePages"],[393,"setUserView"],[400,"resetUserView"],[407,"useDefaultConnectionSetup"],[413,"useHighPerformanceConnectionSetup"],[419,"useOTESystem"],[427,"useLIVESystem"],[435,"_flattenCommand"],[457,"_autoIDNConvert"]],"start":{"123":{"getUserAgent":[{"pod":8,"condition":3,"branch":7,"statement":87,"subroutine":22,"time":null}]},"13":{"BEGIN":[{"subroutine":10,"time":null,"statement":29,"branch":null,"condition":null,"pod":null}]},"457":{"_autoIDNConvert":[{"branch":29,"pod":35,"condition":5,"subroutine":50,"time":null,"statement":275}]},"205":{"reuseSession":[{"branch":13,"pod":16,"condition":4,"time":null,"subroutine":30,"statement":127}]},"213":{"setURL":[{"branch":13,"pod":17,"condition":4,"subroutine":31,"time":null,"statement":131}]},"275":{"loginExtended":[{"pod":24,"condition":5,"branch":15,"statement":163,"time":null,"subroutine":38}]},"70":{"disableDebugMode":[{"branch":1,"pod":4,"condition":1,"subroutine":18,"time":null,"statement":57}]},"54":{"setCustomLogger":[{"branch":null,"pod":2,"condition":null,"subroutine":16,"time":null,"statement":50}]},"77":{"getPOSTData":[{"condition":1,"pod":5,"branch":1,"statement":60,"time":null,"subroutine":19}]},"374":{"requestAllResponsePages":[{"subroutine":42,"time":null,"statement":227,"branch":27,"pod":28,"condition":5}]},"15":{"BEGIN":[{"branch":null,"pod":null,"condition":null,"time":null,"subroutine":12,"statement":35}]},"6":{"BEGIN":[{"statement":8,"subroutine":3,"time":null,"condition":null,"pod":null,"branch":null}]},"47":{"setDefaultLogger":[{"time":null,"subroutine":15,"statement":47,"branch":null,"condition":null,"pod":1}]},"352":{"requestNextResponsePage":[{"subroutine":41,"time":null,"statement":212,"branch":24,"pod":27,"condition":5}]},"178":{"setReferer":[{"branch":12,"pod":13,"condition":4,"time":null,"subroutine":27,"statement":117}]},"149":{"getProxy":[{"branch":9,"pod":10,"condition":4,"time":null,"subroutine":24,"statement":104}]},"220":{"setOTP":[{"branch":13,"pod":18,"condition":4,"subroutine":32,"time":null,"statement":134}]},"63":{"enableDebugMode":[{"subroutine":17,"time":null,"statement":54,"branch":1,"condition":1,"pod":3}]},"169":{"getReferer":[{"pod":12,"condition":4,"branch":11,"statement":113,"subroutine":26,"time":null}]},"5":{"BEGIN":[{"branch":null,"condition":null,"pod":null,"time":null,"subroutine":2,"statement":5}]},"227":{"setSession":[{"subroutine":33,"time":null,"statement":137,"branch":13,"pod":19,"condition":4}]},"107":{"getSession":[{"statement":80,"time":null,"subroutine":20,"condition":3,"pod":6,"branch":6}]},"419":{"useOTESystem":[{"subroutine":47,"time":null,"statement":251,"branch":27,"pod":33,"condition":5}]},"241":{"setCredentials":[{"statement":143,"subroutine":35,"time":null,"condition":4,"pod":21,"branch":13}]},"16":{"BEGIN":[{"branch":null,"condition":null,"pod":null,"subroutine":13,"time":null,"statement":38}]},"14":{"BEGIN":[{"subroutine":11,"time":null,"statement":32,"branch":null,"pod":null,"condition":null}]},"249":{"setRoleCredentials":[{"statement":147,"subroutine":36,"time":null,"condition":4,"pod":22,"branch":13}]},"3":{"BEGIN":[{"branch":null,"condition":null,"pod":null,"time":null,"subroutine":null,"statement":null}]},"435":{"_flattenCommand":[{"time":null,"subroutine":49,"statement":259,"branch":27,"condition":5,"pod":35}]},"117":{"getURL":[{"condition":3,"pod":7,"branch":7,"statement":85,"time":null,"subroutine":21}]},"301":{"logout":[{"branch":18,"condition":5,"pod":25,"time":null,"subroutine":39,"statement":182}]},"4":{"BEGIN":[{"branch":null,"condition":null,"pod":null,"time":null,"subroutine":1,"statement":2}]},"311":{"request":[{"branch":19,"condition":5,"pod":26,"time":null,"subroutine":40,"statement":187}]},"195":{"saveSession":[{"subroutine":29,"time":null,"statement":124,"branch":13,"pod":15,"condition":4}]},"234":{"setRemoteIPAddress":[{"time":null,"subroutine":34,"statement":140,"branch":13,"condition":4,"pod":20}]},"158":{"setProxy":[{"branch":10,"pod":11,"condition":4,"time":null,"subroutine":25,"statement":108}]},"30":{"new":[{"statement":41,"time":null,"subroutine":14,"condition":null,"pod":null,"branch":null}]},"413":{"useHighPerformanceConnectionSetup":[{"branch":27,"pod":32,"condition":5,"time":null,"subroutine":46,"statement":249}]},"257":{"login":[{"time":null,"subroutine":37,"statement":151,"branch":13,"pod":23,"condition":4}]},"9":{"BEGIN":[{"condition":null,"pod":null,"branch":null,"statement":17,"time":null,"subroutine":6}]},"427":{"useLIVESystem":[{"statement":255,"time":null,"subroutine":48,"condition":5,"pod":34,"branch":27}]},"11":{"BEGIN":[{"subroutine":8,"time":null,"statement":23,"branch":null,"condition":null,"pod":null}]},"189":{"getVersion":[{"branch":13,"pod":14,"condition":4,"time":null,"subroutine":28,"statement":122}]},"10":{"BEGIN":[{"condition":null,"pod":null,"branch":null,"statement":20,"subroutine":7,"time":null}]},"-1":{"__COVER__":[{"branch":35,"condition":5,"pod":35,"time":null,"subroutine":51,"statement":303}]},"400":{"resetUserView":[{"pod":30,"condition":5,"branch":27,"statement":244,"time":null,"subroutine":44}]},"8":{"BEGIN":[{"branch":null,"condition":null,"pod":null,"time":null,"subroutine":5,"statement":14}]},"135":{"setUserAgent":[{"time":null,"subroutine":23,"statement":94,"branch":8,"pod":9,"condition":3}]},"12":{"BEGIN":[{"subroutine":9,"time":null,"statement":26,"branch":null,"condition":null,"pod":null}]},"7":{"BEGIN":[{"pod":null,"condition":null,"branch":null,"statement":11,"time":null,"subroutine":4}]},"407":{"useDefaultConnectionSetup":[{"pod":31,"condition":5,"branch":27,"statement":247,"subroutine":45,"time":null}]},"393":{"setUserView":[{"statement":241,"subroutine":43,"time":null,"condition":5,"pod":29,"branch":27}]}},"digest":"2be339104e710ca5ea8dbf70edc2012f","statement":[3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8,9,9,9,10,10,10,11,11,11,12,12,12,13,13,13,14,14,14,15,15,15,16,16,16,30,31,39,40,41,42,47,48,49,54,55,56,58,63,64,65,70,71,72,77,78,79,80,82,83,84,84,85,86,87,88,92,94,95,97,98,99,101,102,107,108,109,110,112,117,118,123,124,125,126,127,128,130,135,136,137,138,139,140,141,141,143,144,149,150,151,153,158,159,160,162,164,169,170,171,173,178,179,180,182,184,189,190,195,199,200,205,206,207,208,213,214,215,220,221,222,227,228,229,234,235,236,241,242,243,244,249,250,251,252,257,258,259,260,261,262,263,264,265,266,268,270,275,276,277,278,279,281,282,283,283,284,286,287,288,289,290,291,292,294,296,301,302,303,304,306,311,313,315,318,319,320,322,323,324,325,326,327,328,330,331,332,335,336,337,338,339,342,343,344,347,352,353,354,355,357,358,359,361,362,363,364,365,366,367,369,374,375,376,377,377,378,380,381,382,383,384,385,386,388,393,394,395,400,401,402,407,408,413,414,419,420,421,422,427,428,429,430,435,436,436,437,438,439,441,442,442,443,444,445,446,447,449,452,457,458,459,461,461,461,462,463,465,466,467,468,469,470,471,474,475,477,482,483,484,485,486,487,487,488,489,493]} \ No newline at end of file diff --git a/cover_db/structure/2fd4e0f143b47facaafd83e4673a73af b/cover_db/structure/2fd4e0f143b47facaafd83e4673a73af deleted file mode 100644 index d0c3d64..0000000 --- a/cover_db/structure/2fd4e0f143b47facaafd83e4673a73af +++ /dev/null @@ -1 +0,0 @@ -{"branch":[[15,{"text":"unless (defined $instance)"}],[47,{"text":"if ($self->hasTemplate($id)) { }"}]],"condition":[[77,{"type":"and_3","left":"$h->{'CODE'} eq $tpl2->{'CODE'}","op":"&&","right":"$h->{'DESCRIPTION'} eq $tpl2->{'DESCRIPTION'}"}]],"pod":[[15,"getInstance"],[32,"generateTemplate"],[38,"addTemplate"],[45,"getTemplate"],[57,"getTemplates"],[68,"hasTemplate"],[74,"isTemplateMatchHash"],[82,"isTemplateMatchPlain"]],"subroutine":[[3,"BEGIN"],[4,"BEGIN"],[5,"BEGIN"],[6,"BEGIN"],[7,"BEGIN"],[15,"getInstance"],[32,"generateTemplate"],[38,"addTemplate"],[45,"getTemplate"],[57,"getTemplates"],[68,"hasTemplate"],[74,"isTemplateMatchHash"],[82,"isTemplateMatchPlain"]],"file":"blib/lib/WebService/Hexonet/Connector/ResponseTemplateManager.pm","digest":"2fd4e0f143b47facaafd83e4673a73af","start":{"45":{"getTemplate":[{"branch":1,"condition":null,"pod":3,"subroutine":8,"time":null,"statement":31}]},"3":{"BEGIN":[{"statement":null,"subroutine":null,"time":null,"pod":null,"condition":null,"branch":null}]},"15":{"getInstance":[{"pod":null,"condition":null,"branch":null,"statement":14,"subroutine":5,"time":null}]},"68":{"hasTemplate":[{"pod":5,"condition":null,"branch":2,"statement":44,"subroutine":10,"time":null}]},"82":{"isTemplateMatchPlain":[{"statement":50,"time":null,"subroutine":12,"condition":1,"pod":7,"branch":2}]},"7":{"BEGIN":[{"statement":11,"subroutine":4,"time":null,"pod":null,"condition":null,"branch":null}]},"38":{"addTemplate":[{"statement":28,"time":null,"subroutine":7,"pod":2,"condition":null,"branch":1}]},"74":{"isTemplateMatchHash":[{"subroutine":11,"time":null,"statement":46,"branch":2,"condition":null,"pod":6}]},"6":{"BEGIN":[{"pod":null,"condition":null,"branch":null,"statement":8,"time":null,"subroutine":3}]},"57":{"getTemplates":[{"condition":null,"pod":4,"branch":2,"statement":37,"subroutine":9,"time":null}]},"32":{"generateTemplate":[{"statement":26,"subroutine":6,"time":null,"pod":1,"condition":null,"branch":1}]},"4":{"BEGIN":[{"pod":null,"condition":null,"branch":null,"statement":2,"time":null,"subroutine":1}]},"5":{"BEGIN":[{"statement":5,"time":null,"subroutine":2,"condition":null,"pod":null,"branch":null}]},"-1":{"__COVER__":[{"subroutine":13,"time":null,"statement":53,"branch":2,"pod":8,"condition":1}]}},"statement":[3,3,4,4,4,5,5,5,6,6,6,7,7,7,15,16,17,18,19,20,21,22,23,24,25,27,32,33,38,39,40,45,46,47,48,50,52,57,58,59,60,60,61,63,68,69,74,75,76,77,82,83,84]} \ No newline at end of file diff --git a/cover_db/structure/600045f5b41270a0d57a0cd0c7bb1f88 b/cover_db/structure/600045f5b41270a0d57a0cd0c7bb1f88 deleted file mode 100644 index 161ef27..0000000 --- a/cover_db/structure/600045f5b41270a0d57a0cd0c7bb1f88 +++ /dev/null @@ -1 +0,0 @@ -{"statement":[3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8,9,9,9,10,10,10,11,11,11,18,19,21,22,23,25,25,26,27,28,30,31,33,34,35,37,39,40,41,42,44,45,46,46,47,48,49,49,50,51,52,53,56,57,58,59,60,61,62,63,64,68,71,76,77,77,78,78,79,84,85,85,86,91,92,93,93,93,94,96,101,102,103,104,109,110,110,115,116,116,121,122,127,128,129,129,130,131,133,138,139,140,141,142,144,149,150,152,157,158,159,160,161,162,165,165,166,167,172,173,174,175,176,177,180,181,182,184,189,190,191,191,192,194,201,206,207,209,214,215,216,217,219,220,221,222,227,228,229,230,231,233,238,239,250,255,256,257,258,260,261,262,267,268,270,275,276,277,279,284,285,285,290,291,291,292,297,298,299,300,301,302,305,310,311,312,313,314,315,318,323,324,325,326,328,329,330,332,337,338,339,340,342,343,344,346,351,352,353,358,359,359,359,360,365,366,366,367,372,373,374,374,375,380,381],"start":{"127":{"getCommandPlain":[{"branch":9,"condition":null,"pod":8,"time":null,"subroutine":18,"statement":98}]},"8":{"BEGIN":[{"statement":14,"time":null,"subroutine":5,"condition":null,"pod":null,"branch":null}]},"172":{"getLastRecordIndex":[{"pod":12,"condition":1,"branch":14,"statement":124,"time":null,"subroutine":22}]},"337":{"hasPreviousPage":[{"branch":31,"condition":3,"pod":26,"subroutine":36,"time":null,"statement":204}]},"5":{"BEGIN":[{"condition":null,"pod":null,"branch":null,"statement":5,"time":null,"subroutine":2}]},"-1":{"__COVER__":[{"pod":28,"condition":6,"branch":33,"statement":231,"time":null,"subroutine":43}]},"10":{"BEGIN":[{"statement":20,"time":null,"subroutine":7,"pod":null,"condition":null,"branch":null}]},"358":{"_hasColumn":[{"statement":215,"subroutine":38,"time":null,"pod":28,"condition":3,"branch":33}]},"93":{"__ANON__":[{"time":null,"subroutine":13,"statement":86,"branch":8,"pod":4,"condition":null}]},"290":{"getRecordsCount":[{"branch":25,"pod":22,"condition":3,"subroutine":32,"time":null,"statement":178}]},"189":{"getListHash":[{"time":null,"subroutine":23,"statement":134,"branch":17,"condition":1,"pod":13}]},"11":{"BEGIN":[{"time":null,"subroutine":8,"statement":23,"branch":null,"pod":null,"condition":null}]},"121":{"getCommand":[{"condition":null,"pod":7,"branch":9,"statement":96,"subroutine":17,"time":null}]},"149":{"getCurrentRecord":[{"subroutine":20,"time":null,"statement":111,"branch":10,"condition":1,"pod":10}]},"284":{"getRecords":[{"condition":3,"pod":21,"branch":25,"statement":175,"time":null,"subroutine":31}]},"9":{"BEGIN":[{"statement":17,"subroutine":6,"time":null,"condition":null,"pod":null,"branch":null}]},"6":{"BEGIN":[{"time":null,"subroutine":3,"statement":8,"branch":null,"condition":null,"pod":null}]},"214":{"getNextPageNumber":[{"statement":144,"time":null,"subroutine":25,"condition":1,"pod":15,"branch":18}]},"359":{"__ANON__":[{"branch":33,"condition":3,"pod":28,"subroutine":39,"time":null,"statement":220}]},"255":{"getPreviousPageNumber":[{"statement":161,"subroutine":28,"time":null,"pod":18,"condition":2,"branch":21}]},"18":{"new":[{"time":null,"subroutine":9,"statement":26,"branch":null,"condition":null,"pod":null}]},"101":{"getColumnIndex":[{"subroutine":14,"time":null,"statement":86,"branch":8,"condition":null,"pod":4}]},"3":{"BEGIN":[{"branch":null,"pod":null,"condition":null,"subroutine":null,"time":null,"statement":null}]},"323":{"hasNextPage":[{"subroutine":35,"time":null,"statement":196,"branch":29,"condition":3,"pod":25}]},"7":{"BEGIN":[{"pod":null,"condition":null,"branch":null,"statement":11,"time":null,"subroutine":4}]},"109":{"getColumnKeys":[{"subroutine":15,"time":null,"statement":90,"branch":9,"condition":null,"pod":5}]},"206":{"getNextRecord":[{"statement":141,"time":null,"subroutine":24,"pod":14,"condition":1,"branch":17}]},"365":{"_hasCurrentRecord":[{"branch":33,"condition":3,"pod":28,"subroutine":40,"time":null,"statement":220}]},"297":{"getRecordsTotalCount":[{"statement":182,"subroutine":33,"time":null,"condition":3,"pod":23,"branch":25}]},"351":{"rewindRecordList":[{"branch":33,"condition":3,"pod":27,"time":null,"subroutine":37,"statement":212}]},"267":{"getPreviousRecord":[{"subroutine":29,"time":null,"statement":168,"branch":23,"pod":19,"condition":2}]},"227":{"getNumberOfPages":[{"condition":1,"pod":16,"branch":20,"statement":152,"subroutine":26,"time":null}]},"275":{"getRecord":[{"pod":20,"condition":2,"branch":24,"statement":171,"subroutine":30,"time":null}]},"380":{"_hasPreviousRecord":[{"condition":5,"pod":28,"branch":33,"statement":229,"subroutine":42,"time":null}]},"76":{"addColumn":[{"branch":7,"pod":1,"condition":null,"time":null,"subroutine":10,"statement":69}]},"4":{"BEGIN":[{"pod":null,"condition":null,"branch":null,"statement":2,"subroutine":1,"time":null}]},"91":{"getColumn":[{"time":null,"subroutine":12,"statement":79,"branch":7,"condition":null,"pod":3}]},"138":{"getCurrentPageNumber":[{"statement":105,"subroutine":19,"time":null,"pod":9,"condition":null,"branch":9}]},"157":{"getFirstRecordIndex":[{"subroutine":21,"time":null,"statement":114,"branch":11,"condition":1,"pod":11}]},"238":{"getPagination":[{"time":null,"subroutine":27,"statement":158,"branch":21,"condition":2,"pod":17}]},"115":{"getColumns":[{"statement":93,"subroutine":16,"time":null,"condition":null,"pod":6,"branch":9}]},"84":{"addRecord":[{"time":null,"subroutine":11,"statement":75,"branch":7,"condition":null,"pod":2}]},"372":{"_hasNextRecord":[{"statement":224,"subroutine":41,"time":null,"condition":4,"pod":28,"branch":33}]},"310":{"getRecordsLimitation":[{"time":null,"subroutine":34,"statement":189,"branch":27,"condition":3,"pod":24}]}},"digest":"600045f5b41270a0d57a0cd0c7bb1f88","file":"blib/lib/WebService/Hexonet/Connector/Response.pm","subroutine":[[3,"BEGIN"],[4,"BEGIN"],[5,"BEGIN"],[6,"BEGIN"],[7,"BEGIN"],[8,"BEGIN"],[9,"BEGIN"],[10,"BEGIN"],[11,"BEGIN"],[18,"new"],[76,"addColumn"],[84,"addRecord"],[91,"getColumn"],[93,"__ANON__"],[101,"getColumnIndex"],[109,"getColumnKeys"],[115,"getColumns"],[121,"getCommand"],[127,"getCommandPlain"],[138,"getCurrentPageNumber"],[149,"getCurrentRecord"],[157,"getFirstRecordIndex"],[172,"getLastRecordIndex"],[189,"getListHash"],[206,"getNextRecord"],[214,"getNextPageNumber"],[227,"getNumberOfPages"],[238,"getPagination"],[255,"getPreviousPageNumber"],[267,"getPreviousRecord"],[275,"getRecord"],[284,"getRecords"],[290,"getRecordsCount"],[297,"getRecordsTotalCount"],[310,"getRecordsLimitation"],[323,"hasNextPage"],[337,"hasPreviousPage"],[351,"rewindRecordList"],[358,"_hasColumn"],[359,"__ANON__"],[365,"_hasCurrentRecord"],[372,"_hasNextRecord"],[380,"_hasPreviousRecord"]],"condition":[[141,{"type":"and_3","op":"and","right":"$limit > 0","left":"defined $first"}],[230,{"left":"$t > 0","op":"and","right":"$limit > 0","type":"and_3"}],[276,{"type":"and_3","op":"and","right":"$self->getRecordsCount > $idx","left":"$idx >= 0"}],[367,{"type":"and_3","left":"$len > 0 && $self->{'recordIndex'} >= 0","op":"&&","right":"$self->{'recordIndex'} < $len"}],[375,{"type":"and_3","left":"$self->_hasCurrentRecord","op":"&&","right":"$next < $len"}],[381,{"type":"and_3","right":"$self->_hasCurrentRecord","op":"&&","left":"$self->{'recordIndex'} > 0"}]],"pod":[[18,"new"],[76,"addColumn"],[84,"addRecord"],[91,"getColumn"],[101,"getColumnIndex"],[109,"getColumnKeys"],[115,"getColumns"],[121,"getCommand"],[127,"getCommandPlain"],[138,"getCurrentPageNumber"],[149,"getCurrentRecord"],[157,"getFirstRecordIndex"],[172,"getLastRecordIndex"],[189,"getListHash"],[206,"getNextRecord"],[214,"getNextPageNumber"],[227,"getNumberOfPages"],[238,"getPagination"],[255,"getPreviousPageNumber"],[267,"getPreviousRecord"],[275,"getRecord"],[284,"getRecords"],[290,"getRecordsCount"],[297,"getRecordsTotalCount"],[310,"getRecordsLimitation"],[323,"hasNextPage"],[337,"hasPreviousPage"],[351,"rewindRecordList"]],"branch":[[22,{"text":"unless (defined $ph)"}],[21,{"text":"if ($self->{'raw'} =~ /[{][[:upper:]_]+[}]/gmsux)"}],[35,{"text":"if (defined $self->{'command'}{'PASSWORD'})"}],[52,{"text":"if ($len > $count)"}],[63,{"text":"if (defined $v)"}],[61,{"text":"if (defined $col)"}],[45,{"text":"if (defined $h->{'PROPERTY'})"}],[92,{"text":"if ($self->_hasColumn($key))"}],[103,{"text":"if defined $col"}],[141,{"text":"if (defined $first and $limit > 0)"}],[150,{"text":"if $self->_hasCurrentRecord"}],[161,{"text":"if (defined $f)"}],[159,{"text":"if (defined $col)"}],[166,{"text":"if $len > 0"}],[176,{"text":"if (defined $l)"}],[174,{"text":"if (defined $col)"}],[181,{"text":"if ($len > 0)"}],[207,{"text":"if $self->_hasNextRecord"}],[216,{"text":"if ($cp < 0)"}],[221,{"text":"if $page <= $pages"}],[230,{"text":"if ($t > 0 and $limit > 0)"}],[257,{"text":"if ($cp < 0)"}],[261,{"text":"if $np > 0"}],[268,{"text":"if $self->_hasPreviousRecord"}],[276,{"text":"if ($idx >= 0 and $self->getRecordsCount > $idx)"}],[301,{"text":"if (defined $t)"}],[299,{"text":"if (defined $col)"}],[314,{"text":"if (defined $l)"}],[312,{"text":"if (defined $col)"}],[325,{"text":"if ($cp < 0)"}],[329,{"text":"if ($np <= $self->getNumberOfPages)"}],[339,{"text":"if ($cp < 0)"}],[343,{"text":"if ($pp > 0)"}]]} \ No newline at end of file diff --git a/cover_db/structure/6d65f0081be2eae6069ae7dee45c4fe3 b/cover_db/structure/6d65f0081be2eae6069ae7dee45c4fe3 new file mode 100644 index 0000000..0e2d6f4 --- /dev/null +++ b/cover_db/structure/6d65f0081be2eae6069ae7dee45c4fe3 @@ -0,0 +1 @@ +{"start":{"-1":{"__COVER__":[{"condition":null,"pod":2,"subroutine":6,"branch":1,"statement":30,"time":null}]},"18":{"log":[{"branch":null,"time":null,"statement":13,"subroutine":5,"condition":null,"pod":1}]},"4":{"BEGIN":[{"time":null,"statement":2,"branch":null,"pod":null,"condition":null,"subroutine":1}]},"5":{"BEGIN":[{"time":null,"statement":5,"branch":null,"pod":null,"condition":null,"subroutine":2}]},"3":{"BEGIN":[{"branch":null,"time":null,"statement":null,"subroutine":null,"condition":null,"pod":null}]},"12":{"new":[{"branch":null,"time":null,"statement":11,"condition":null,"pod":null,"subroutine":4}]},"6":{"BEGIN":[{"time":null,"statement":8,"branch":null,"subroutine":3,"pod":null,"condition":null}]}},"pod":[[12,"new"],[18,"log"]],"digest":"6d65f0081be2eae6069ae7dee45c4fe3","subroutine":[[3,"BEGIN"],[4,"BEGIN"],[5,"BEGIN"],[6,"BEGIN"],[12,"new"],[18,"log"]],"file":"blib/lib/WebService/Hexonet/Connector/Logger.pm","statement":[3,3,4,4,4,5,5,5,6,6,6,12,13,18,19,20,20,21,21,22,22,23,23,25,25,26,26,27,27,29],"branch":[[19,{"text":"if (defined $error) { }"}]]} \ No newline at end of file diff --git a/cover_db/structure/2be339104e710ca5ea8dbf70edc2012f.lock b/cover_db/structure/6d65f0081be2eae6069ae7dee45c4fe3.lock similarity index 100% rename from cover_db/structure/2be339104e710ca5ea8dbf70edc2012f.lock rename to cover_db/structure/6d65f0081be2eae6069ae7dee45c4fe3.lock diff --git a/cover_db/structure/75440d22cc5aa0f841292e94156cf110 b/cover_db/structure/75440d22cc5aa0f841292e94156cf110 new file mode 100644 index 0000000..538c05f --- /dev/null +++ b/cover_db/structure/75440d22cc5aa0f841292e94156cf110 @@ -0,0 +1 @@ +{"statement":[3,3,4,4,4,5,5,5,6,6,6,7,7,7,15,16,17,18,19,20,21,22,23,24,25,27,32,33,38,39,40,45,46,47,48,50,52,57,58,59,60,60,61,63,68,69,74,75,76,77,82,83,84],"file":"blib/lib/WebService/Hexonet/Connector/ResponseTemplateManager.pm","branch":[[15,{"text":"unless (defined $instance)"}],[47,{"text":"if ($self->hasTemplate($id)) { }"}]],"subroutine":[[3,"BEGIN"],[4,"BEGIN"],[5,"BEGIN"],[6,"BEGIN"],[7,"BEGIN"],[15,"getInstance"],[32,"generateTemplate"],[38,"addTemplate"],[45,"getTemplate"],[57,"getTemplates"],[68,"hasTemplate"],[74,"isTemplateMatchHash"],[82,"isTemplateMatchPlain"]],"pod":[[15,"getInstance"],[32,"generateTemplate"],[38,"addTemplate"],[45,"getTemplate"],[57,"getTemplates"],[68,"hasTemplate"],[74,"isTemplateMatchHash"],[82,"isTemplateMatchPlain"]],"start":{"7":{"BEGIN":[{"branch":null,"time":null,"statement":11,"subroutine":4,"condition":null,"pod":null}]},"6":{"BEGIN":[{"subroutine":3,"condition":null,"pod":null,"branch":null,"statement":8,"time":null}]},"82":{"isTemplateMatchPlain":[{"statement":50,"time":null,"branch":2,"subroutine":12,"pod":7,"condition":1}]},"45":{"getTemplate":[{"pod":3,"condition":null,"subroutine":8,"time":null,"statement":31,"branch":1}]},"3":{"BEGIN":[{"subroutine":null,"pod":null,"condition":null,"statement":null,"time":null,"branch":null}]},"-1":{"__COVER__":[{"branch":2,"time":null,"statement":53,"subroutine":13,"condition":1,"pod":8}]},"32":{"generateTemplate":[{"condition":null,"pod":1,"subroutine":6,"branch":1,"statement":26,"time":null}]},"74":{"isTemplateMatchHash":[{"time":null,"statement":46,"branch":2,"pod":6,"condition":null,"subroutine":11}]},"68":{"hasTemplate":[{"time":null,"statement":44,"branch":2,"pod":5,"condition":null,"subroutine":10}]},"4":{"BEGIN":[{"subroutine":1,"pod":null,"condition":null,"statement":2,"time":null,"branch":null}]},"5":{"BEGIN":[{"pod":null,"condition":null,"subroutine":2,"statement":5,"time":null,"branch":null}]},"38":{"addTemplate":[{"pod":2,"condition":null,"subroutine":7,"time":null,"statement":28,"branch":1}]},"57":{"getTemplates":[{"branch":2,"statement":37,"time":null,"condition":null,"pod":4,"subroutine":9}]},"15":{"getInstance":[{"subroutine":5,"condition":null,"pod":null,"branch":null,"time":null,"statement":14}]}},"digest":"75440d22cc5aa0f841292e94156cf110","condition":[[77,{"type":"and_3","op":"&&","left":"$h->{'CODE'} eq $tpl2->{'CODE'}","right":"$h->{'DESCRIPTION'} eq $tpl2->{'DESCRIPTION'}"}]]} \ No newline at end of file diff --git a/cover_db/structure/2fd4e0f143b47facaafd83e4673a73af.lock b/cover_db/structure/75440d22cc5aa0f841292e94156cf110.lock similarity index 100% rename from cover_db/structure/2fd4e0f143b47facaafd83e4673a73af.lock rename to cover_db/structure/75440d22cc5aa0f841292e94156cf110.lock diff --git a/cover_db/structure/a2f9d605d631a7d25598976a505d4dbe b/cover_db/structure/a2f9d605d631a7d25598976a505d4dbe new file mode 100644 index 0000000..78ef396 --- /dev/null +++ b/cover_db/structure/a2f9d605d631a7d25598976a505d4dbe @@ -0,0 +1 @@ +{"subroutine":[[3,"BEGIN"],[4,"BEGIN"],[5,"BEGIN"],[6,"BEGIN"],[12,"new"],[26,"getPOSTData"],[54,"getSession"],[60,"getSystemEntity"],[66,"setLogin"],[74,"setOTP"],[82,"setPassword"],[90,"setRemoteAddress"],[97,"setSession"],[107,"setSystemEntity"],[114,"setUser"]],"digest":"a2f9d605d631a7d25598976a505d4dbe","pod":[[12,"new"],[26,"getPOSTData"],[54,"getSession"],[60,"getSystemEntity"],[66,"setLogin"],[74,"setOTP"],[82,"setPassword"],[90,"setRemoteAddress"],[97,"setSession"],[107,"setSystemEntity"],[114,"setUser"]],"start":{"74":{"setOTP":[{"subroutine":9,"pod":5,"condition":null,"time":null,"statement":38,"branch":7}]},"107":{"setSystemEntity":[{"branch":7,"time":null,"statement":55,"subroutine":13,"condition":null,"pod":9}]},"4":{"BEGIN":[{"time":null,"statement":2,"branch":null,"pod":null,"condition":null,"subroutine":1}]},"90":{"setRemoteAddress":[{"subroutine":11,"pod":7,"condition":null,"time":null,"statement":46,"branch":7}]},"5":{"BEGIN":[{"time":null,"statement":5,"branch":null,"subroutine":2,"pod":null,"condition":null}]},"97":{"setSession":[{"branch":7,"time":null,"statement":49,"condition":null,"pod":8,"subroutine":12}]},"12":{"new":[{"time":null,"statement":11,"branch":null,"pod":null,"condition":null,"subroutine":4}]},"6":{"BEGIN":[{"branch":null,"time":null,"statement":8,"subroutine":3,"condition":null,"pod":null}]},"82":{"setPassword":[{"pod":6,"condition":null,"subroutine":10,"statement":42,"time":null,"branch":7}]},"60":{"getSystemEntity":[{"branch":7,"time":null,"statement":32,"subroutine":7,"condition":null,"pod":3}]},"3":{"BEGIN":[{"subroutine":null,"pod":null,"condition":null,"time":null,"statement":null,"branch":null}]},"54":{"getSession":[{"branch":7,"time":null,"statement":30,"condition":null,"pod":2,"subroutine":6}]},"-1":{"__COVER__":[{"statement":61,"time":null,"branch":7,"pod":11,"condition":null,"subroutine":15}]},"26":{"getPOSTData":[{"subroutine":5,"condition":null,"pod":1,"branch":null,"statement":13,"time":null}]},"114":{"setUser":[{"condition":null,"pod":10,"subroutine":14,"branch":7,"statement":58,"time":null}]},"66":{"setLogin":[{"subroutine":8,"pod":4,"condition":null,"statement":34,"time":null,"branch":7}]}},"branch":[[28,{"text":"if (length $self->{'entity'})"}],[31,{"text":"if (length $self->{'login'})"}],[34,{"text":"if (length $self->{'otp'})"}],[37,{"text":"if (length $self->{'pw'})"}],[40,{"text":"if (length $self->{'remoteaddr'})"}],[43,{"text":"if (length $self->{'session'})"}],[46,{"text":"if (length $self->{'user'})"}]],"file":"blib/lib/WebService/Hexonet/Connector/SocketConfig.pm","statement":[3,3,4,4,4,5,5,5,6,6,6,12,13,26,27,28,29,31,32,34,35,37,38,40,41,43,44,46,47,49,54,55,60,61,66,67,68,69,74,75,76,77,82,83,84,85,90,91,92,97,98,99,100,101,102,107,108,109,114,115,116]} \ No newline at end of file diff --git a/cover_db/structure/600045f5b41270a0d57a0cd0c7bb1f88.lock b/cover_db/structure/a2f9d605d631a7d25598976a505d4dbe.lock similarity index 100% rename from cover_db/structure/600045f5b41270a0d57a0cd0c7bb1f88.lock rename to cover_db/structure/a2f9d605d631a7d25598976a505d4dbe.lock diff --git a/cover_db/structure/a8b0b73cc7b84e841a11bba17d6fbbb2 b/cover_db/structure/a8b0b73cc7b84e841a11bba17d6fbbb2 deleted file mode 100644 index cbe6e02..0000000 --- a/cover_db/structure/a8b0b73cc7b84e841a11bba17d6fbbb2 +++ /dev/null @@ -1 +0,0 @@ -{"start":{"3":{"BEGIN":[{"time":null,"subroutine":null,"statement":null,"branch":null,"condition":null,"pod":null}]},"18":{"log":[{"condition":null,"pod":1,"branch":null,"statement":13,"subroutine":5,"time":null}]},"4":{"BEGIN":[{"subroutine":1,"time":null,"statement":2,"branch":null,"pod":null,"condition":null}]},"-1":{"__COVER__":[{"pod":2,"condition":null,"branch":1,"statement":30,"subroutine":6,"time":null}]},"5":{"BEGIN":[{"subroutine":2,"time":null,"statement":5,"branch":null,"pod":null,"condition":null}]},"12":{"new":[{"branch":null,"pod":null,"condition":null,"time":null,"subroutine":4,"statement":11}]},"6":{"BEGIN":[{"branch":null,"pod":null,"condition":null,"time":null,"subroutine":3,"statement":8}]}},"digest":"a8b0b73cc7b84e841a11bba17d6fbbb2","statement":[3,3,4,4,4,5,5,5,6,6,6,12,13,18,19,20,20,21,21,22,22,23,23,25,25,26,26,27,27,29],"pod":[[12,"new"],[18,"log"]],"branch":[[19,{"text":"if (defined $error) { }"}]],"subroutine":[[3,"BEGIN"],[4,"BEGIN"],[5,"BEGIN"],[6,"BEGIN"],[12,"new"],[18,"log"]],"file":"blib/lib/WebService/Hexonet/Connector/Logger.pm"} \ No newline at end of file diff --git a/cover_db/structure/d4af1ff521c4b4ee4cbc438831742f0c b/cover_db/structure/d4af1ff521c4b4ee4cbc438831742f0c deleted file mode 100644 index fc0954b..0000000 --- a/cover_db/structure/d4af1ff521c4b4ee4cbc438831742f0c +++ /dev/null @@ -1 +0,0 @@ -{"digest":"d4af1ff521c4b4ee4cbc438831742f0c","start":{"49":{"getQueuetime":[{"time":null,"subroutine":9,"statement":30,"branch":2,"condition":2,"pod":4}]},"31":{"getCode":[{"branch":2,"pod":1,"condition":2,"subroutine":6,"time":null,"statement":24}]},"7":{"BEGIN":[{"time":null,"subroutine":4,"statement":11,"branch":null,"condition":null,"pod":null}]},"94":{"isPending":[{"condition":2,"pod":10,"branch":4,"statement":49,"subroutine":15,"time":null}]},"64":{"getRuntime":[{"condition":2,"pod":6,"branch":3,"statement":36,"time":null,"subroutine":11}]},"15":{"new":[{"statement":14,"subroutine":5,"time":null,"pod":null,"condition":null,"branch":null}]},"3":{"BEGIN":[{"statement":null,"subroutine":null,"time":null,"pod":null,"condition":null,"branch":null}]},"37":{"getDescription":[{"statement":26,"subroutine":7,"time":null,"pod":2,"condition":2,"branch":2}]},"73":{"isError":[{"time":null,"subroutine":12,"statement":40,"branch":4,"condition":2,"pod":7}]},"58":{"getHash":[{"statement":34,"time":null,"subroutine":10,"pod":5,"condition":2,"branch":3}]},"-1":{"__COVER__":[{"branch":5,"condition":2,"pod":11,"subroutine":16,"time":null,"statement":53}]},"5":{"BEGIN":[{"subroutine":2,"time":null,"statement":5,"branch":null,"pod":null,"condition":null}]},"4":{"BEGIN":[{"condition":null,"pod":null,"branch":null,"statement":2,"time":null,"subroutine":1}]},"80":{"isSuccess":[{"subroutine":13,"time":null,"statement":43,"branch":4,"condition":2,"pod":8}]},"87":{"isTmpError":[{"subroutine":14,"time":null,"statement":46,"branch":4,"condition":2,"pod":9}]},"6":{"BEGIN":[{"time":null,"subroutine":3,"statement":8,"branch":null,"condition":null,"pod":null}]},"43":{"getPlain":[{"branch":2,"pod":3,"condition":2,"time":null,"subroutine":8,"statement":28}]}},"statement":[3,3,4,4,4,5,5,5,6,6,6,7,7,7,15,16,17,18,20,21,22,23,24,26,31,32,37,38,43,44,49,50,51,53,58,59,64,65,66,68,73,74,75,80,81,82,87,88,89,94,95,96,98],"branch":[[17,{"text":"if (not defined $raw or length $raw == 0)"}],[22,{"text":"unless (defined $self->{'hash'}{'DESCRIPTION'} and defined $self->{'hash'}{'CODE'})"}],[50,{"text":"if (defined $self->{'hash'}{'QUEUETIME'})"}],[65,{"text":"if (defined $self->{'hash'}{'RUNTIME'})"}],[95,{"text":"if (defined $self->{'hash'}{'PENDING'})"}]],"condition":[[17,{"type":"or_3","right":"length $raw == 0","op":"or","left":"not defined $raw"}],[22,{"type":"and_3","left":"defined $self->{'hash'}{'DESCRIPTION'}","right":"defined $self->{'hash'}{'CODE'}","op":"and"}]],"pod":[[15,"new"],[31,"getCode"],[37,"getDescription"],[43,"getPlain"],[49,"getQueuetime"],[58,"getHash"],[64,"getRuntime"],[73,"isError"],[80,"isSuccess"],[87,"isTmpError"],[94,"isPending"]],"subroutine":[[3,"BEGIN"],[4,"BEGIN"],[5,"BEGIN"],[6,"BEGIN"],[7,"BEGIN"],[15,"new"],[31,"getCode"],[37,"getDescription"],[43,"getPlain"],[49,"getQueuetime"],[58,"getHash"],[64,"getRuntime"],[73,"isError"],[80,"isSuccess"],[87,"isTmpError"],[94,"isPending"]],"file":"blib/lib/WebService/Hexonet/Connector/ResponseTemplate.pm"} \ No newline at end of file diff --git a/cover_db/structure/d68b433477b6ac081644b281a59a1096 b/cover_db/structure/d68b433477b6ac081644b281a59a1096 deleted file mode 100644 index ed4f9d6..0000000 --- a/cover_db/structure/d68b433477b6ac081644b281a59a1096 +++ /dev/null @@ -1 +0,0 @@ -{"digest":"d68b433477b6ac081644b281a59a1096","start":{"3":{"BEGIN":[{"condition":null,"pod":null,"branch":null,"statement":null,"time":null,"subroutine":null}]},"82":{"setPassword":[{"statement":42,"time":null,"subroutine":10,"pod":6,"condition":null,"branch":7}]},"12":{"new":[{"time":null,"subroutine":4,"statement":11,"branch":null,"condition":null,"pod":null}]},"66":{"setLogin":[{"pod":4,"condition":null,"branch":7,"statement":34,"subroutine":8,"time":null}]},"107":{"setSystemEntity":[{"branch":7,"condition":null,"pod":9,"subroutine":13,"time":null,"statement":55}]},"54":{"getSession":[{"branch":7,"pod":2,"condition":null,"time":null,"subroutine":6,"statement":30}]},"26":{"getPOSTData":[{"statement":13,"subroutine":5,"time":null,"condition":null,"pod":1,"branch":null}]},"90":{"setRemoteAddress":[{"time":null,"subroutine":11,"statement":46,"branch":7,"pod":7,"condition":null}]},"-1":{"__COVER__":[{"statement":61,"subroutine":15,"time":null,"condition":null,"pod":11,"branch":7}]},"5":{"BEGIN":[{"time":null,"subroutine":2,"statement":5,"branch":null,"pod":null,"condition":null}]},"4":{"BEGIN":[{"pod":null,"condition":null,"branch":null,"statement":2,"time":null,"subroutine":1}]},"60":{"getSystemEntity":[{"statement":32,"time":null,"subroutine":7,"condition":null,"pod":3,"branch":7}]},"97":{"setSession":[{"subroutine":12,"time":null,"statement":49,"branch":7,"pod":8,"condition":null}]},"74":{"setOTP":[{"time":null,"subroutine":9,"statement":38,"branch":7,"condition":null,"pod":5}]},"114":{"setUser":[{"branch":7,"condition":null,"pod":10,"time":null,"subroutine":14,"statement":58}]},"6":{"BEGIN":[{"statement":8,"time":null,"subroutine":3,"condition":null,"pod":null,"branch":null}]}},"statement":[3,3,4,4,4,5,5,5,6,6,6,12,13,26,27,28,29,31,32,34,35,37,38,40,41,43,44,46,47,49,54,55,60,61,66,67,68,69,74,75,76,77,82,83,84,85,90,91,92,97,98,99,100,101,102,107,108,109,114,115,116],"branch":[[28,{"text":"if (length $self->{'entity'})"}],[31,{"text":"if (length $self->{'login'})"}],[34,{"text":"if (length $self->{'otp'})"}],[37,{"text":"if (length $self->{'pw'})"}],[40,{"text":"if (length $self->{'remoteaddr'})"}],[43,{"text":"if (length $self->{'session'})"}],[46,{"text":"if (length $self->{'user'})"}]],"pod":[[12,"new"],[26,"getPOSTData"],[54,"getSession"],[60,"getSystemEntity"],[66,"setLogin"],[74,"setOTP"],[82,"setPassword"],[90,"setRemoteAddress"],[97,"setSession"],[107,"setSystemEntity"],[114,"setUser"]],"subroutine":[[3,"BEGIN"],[4,"BEGIN"],[5,"BEGIN"],[6,"BEGIN"],[12,"new"],[26,"getPOSTData"],[54,"getSession"],[60,"getSystemEntity"],[66,"setLogin"],[74,"setOTP"],[82,"setPassword"],[90,"setRemoteAddress"],[97,"setSession"],[107,"setSystemEntity"],[114,"setUser"]],"file":"blib/lib/WebService/Hexonet/Connector/SocketConfig.pm"} \ No newline at end of file diff --git a/cover_db/structure/d9e0a0b5d33e80209b9e3fd77eafbdd1 b/cover_db/structure/d9e0a0b5d33e80209b9e3fd77eafbdd1 new file mode 100644 index 0000000..ea0cb91 --- /dev/null +++ b/cover_db/structure/d9e0a0b5d33e80209b9e3fd77eafbdd1 @@ -0,0 +1 @@ +{"digest":"d9e0a0b5d33e80209b9e3fd77eafbdd1","start":{"11":{"BEGIN":[{"statement":23,"time":null,"branch":null,"subroutine":8,"pod":null,"condition":null}]},"9":{"BEGIN":[{"condition":null,"pod":null,"subroutine":6,"branch":null,"time":null,"statement":17}]},"4":{"BEGIN":[{"condition":null,"pod":null,"subroutine":1,"branch":null,"statement":2,"time":null}]},"5":{"BEGIN":[{"subroutine":2,"pod":null,"condition":null,"statement":5,"time":null,"branch":null}]},"7":{"BEGIN":[{"subroutine":4,"condition":null,"pod":null,"branch":null,"time":null,"statement":11}]},"6":{"BEGIN":[{"pod":null,"condition":null,"subroutine":3,"statement":8,"time":null,"branch":null}]},"12":{"BEGIN":[{"branch":null,"statement":26,"time":null,"subroutine":9,"condition":null,"pod":null}]},"3":{"BEGIN":[{"condition":null,"pod":null,"subroutine":null,"branch":null,"time":null,"statement":null}]},"10":{"BEGIN":[{"pod":null,"condition":null,"subroutine":7,"statement":20,"time":null,"branch":null}]},"-1":{"__COVER__":[{"subroutine":11,"condition":null,"pod":null,"branch":null,"statement":32,"time":null}]},"8":{"BEGIN":[{"pod":null,"condition":null,"subroutine":5,"time":null,"statement":14,"branch":null}]},"13":{"BEGIN":[{"subroutine":10,"pod":null,"condition":null,"time":null,"statement":29,"branch":null}]}},"subroutine":[[3,"BEGIN"],[4,"BEGIN"],[5,"BEGIN"],[6,"BEGIN"],[7,"BEGIN"],[8,"BEGIN"],[9,"BEGIN"],[10,"BEGIN"],[11,"BEGIN"],[12,"BEGIN"],[13,"BEGIN"]],"statement":[3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8,9,9,9,10,10,10,11,11,11,12,12,12,13,13,13],"file":"blib/lib/WebService/Hexonet/Connector.pm"} \ No newline at end of file diff --git a/cover_db/structure/a8b0b73cc7b84e841a11bba17d6fbbb2.lock b/cover_db/structure/d9e0a0b5d33e80209b9e3fd77eafbdd1.lock similarity index 100% rename from cover_db/structure/a8b0b73cc7b84e841a11bba17d6fbbb2.lock rename to cover_db/structure/d9e0a0b5d33e80209b9e3fd77eafbdd1.lock diff --git a/cover_db/structure/da4d265b55968a07d7788f3f262349ef b/cover_db/structure/da4d265b55968a07d7788f3f262349ef new file mode 100644 index 0000000..4cbdf40 --- /dev/null +++ b/cover_db/structure/da4d265b55968a07d7788f3f262349ef @@ -0,0 +1 @@ +{"branch":[[25,{"text":"if $self->hasData($key)"}]],"file":"blib/lib/WebService/Hexonet/Connector/Record.pm","statement":[3,3,4,4,4,5,5,5,11,12,17,18,23,24,25,27,32,33,34],"subroutine":[[3,"BEGIN"],[4,"BEGIN"],[5,"BEGIN"],[11,"new"],[17,"getData"],[23,"getDataByKey"],[32,"hasData"]],"digest":"da4d265b55968a07d7788f3f262349ef","pod":[[11,"new"],[17,"getData"],[23,"getDataByKey"],[32,"hasData"]],"start":{"-1":{"__COVER__":[{"branch":1,"statement":19,"time":null,"subroutine":7,"condition":null,"pod":4}]},"17":{"getData":[{"branch":null,"statement":10,"time":null,"condition":null,"pod":1,"subroutine":4}]},"32":{"hasData":[{"condition":null,"pod":3,"subroutine":6,"branch":1,"time":null,"statement":16}]},"23":{"getDataByKey":[{"branch":null,"time":null,"statement":12,"condition":null,"pod":2,"subroutine":5}]},"11":{"new":[{"pod":null,"condition":null,"subroutine":3,"time":null,"statement":8,"branch":null}]},"3":{"BEGIN":[{"statement":null,"time":null,"branch":null,"subroutine":null,"pod":null,"condition":null}]},"4":{"BEGIN":[{"subroutine":1,"condition":null,"pod":null,"branch":null,"statement":2,"time":null}]},"5":{"BEGIN":[{"branch":null,"time":null,"statement":5,"condition":null,"pod":null,"subroutine":2}]}}} \ No newline at end of file diff --git a/cover_db/structure/d4af1ff521c4b4ee4cbc438831742f0c.lock b/cover_db/structure/da4d265b55968a07d7788f3f262349ef.lock similarity index 100% rename from cover_db/structure/d4af1ff521c4b4ee4cbc438831742f0c.lock rename to cover_db/structure/da4d265b55968a07d7788f3f262349ef.lock diff --git a/cover_db/structure/dc44773dabfc7e99483387db1a30004e b/cover_db/structure/dc44773dabfc7e99483387db1a30004e new file mode 100644 index 0000000..9e3c43e --- /dev/null +++ b/cover_db/structure/dc44773dabfc7e99483387db1a30004e @@ -0,0 +1 @@ +{"subroutine":[[3,"BEGIN"],[4,"BEGIN"],[5,"BEGIN"],[6,"BEGIN"],[7,"BEGIN"],[15,"new"],[31,"getCode"],[37,"getDescription"],[43,"getPlain"],[49,"getQueuetime"],[58,"getHash"],[64,"getRuntime"],[73,"isError"],[80,"isSuccess"],[87,"isTmpError"],[94,"isPending"]],"condition":[[17,{"left":"not defined $raw","op":"or","type":"or_3","right":"length $raw == 0"}],[22,{"right":"defined $self->{'hash'}{'CODE'}","left":"defined $self->{'hash'}{'DESCRIPTION'}","op":"and","type":"and_3"}]],"digest":"dc44773dabfc7e99483387db1a30004e","start":{"58":{"getHash":[{"branch":3,"statement":34,"time":null,"condition":2,"pod":5,"subroutine":10}]},"73":{"isError":[{"pod":7,"condition":2,"subroutine":12,"time":null,"statement":40,"branch":4}]},"37":{"getDescription":[{"time":null,"statement":26,"branch":2,"subroutine":7,"pod":2,"condition":2}]},"94":{"isPending":[{"condition":2,"pod":10,"subroutine":15,"branch":4,"statement":49,"time":null}]},"49":{"getQueuetime":[{"branch":2,"statement":30,"time":null,"subroutine":9,"condition":2,"pod":4}]},"3":{"BEGIN":[{"pod":null,"condition":null,"subroutine":null,"statement":null,"time":null,"branch":null}]},"6":{"BEGIN":[{"condition":null,"pod":null,"subroutine":3,"branch":null,"time":null,"statement":8}]},"7":{"BEGIN":[{"branch":null,"time":null,"statement":11,"condition":null,"pod":null,"subroutine":4}]},"80":{"isSuccess":[{"condition":2,"pod":8,"subroutine":13,"branch":4,"statement":43,"time":null}]},"-1":{"__COVER__":[{"statement":53,"time":null,"branch":5,"subroutine":16,"pod":11,"condition":2}]},"87":{"isTmpError":[{"pod":9,"condition":2,"subroutine":14,"time":null,"statement":46,"branch":4}]},"5":{"BEGIN":[{"subroutine":2,"condition":null,"pod":null,"branch":null,"time":null,"statement":5}]},"4":{"BEGIN":[{"pod":null,"condition":null,"subroutine":1,"time":null,"statement":2,"branch":null}]},"64":{"getRuntime":[{"time":null,"statement":36,"branch":3,"pod":6,"condition":2,"subroutine":11}]},"43":{"getPlain":[{"branch":2,"time":null,"statement":28,"subroutine":8,"condition":2,"pod":3}]},"15":{"new":[{"statement":14,"time":null,"branch":null,"pod":null,"condition":null,"subroutine":5}]},"31":{"getCode":[{"subroutine":6,"pod":1,"condition":2,"statement":24,"time":null,"branch":2}]}},"pod":[[15,"new"],[31,"getCode"],[37,"getDescription"],[43,"getPlain"],[49,"getQueuetime"],[58,"getHash"],[64,"getRuntime"],[73,"isError"],[80,"isSuccess"],[87,"isTmpError"],[94,"isPending"]],"branch":[[17,{"text":"if (not defined $raw or length $raw == 0)"}],[22,{"text":"unless (defined $self->{'hash'}{'DESCRIPTION'} and defined $self->{'hash'}{'CODE'})"}],[50,{"text":"if (defined $self->{'hash'}{'QUEUETIME'})"}],[65,{"text":"if (defined $self->{'hash'}{'RUNTIME'})"}],[95,{"text":"if (defined $self->{'hash'}{'PENDING'})"}]],"statement":[3,3,4,4,4,5,5,5,6,6,6,7,7,7,15,16,17,18,20,21,22,23,24,26,31,32,37,38,43,44,49,50,51,53,58,59,64,65,66,68,73,74,75,80,81,82,87,88,89,94,95,96,98],"file":"blib/lib/WebService/Hexonet/Connector/ResponseTemplate.pm"} \ No newline at end of file diff --git a/cover_db/structure/d68b433477b6ac081644b281a59a1096.lock b/cover_db/structure/dc44773dabfc7e99483387db1a30004e.lock similarity index 100% rename from cover_db/structure/d68b433477b6ac081644b281a59a1096.lock rename to cover_db/structure/dc44773dabfc7e99483387db1a30004e.lock diff --git a/cover_db/structure/dd837b8e4fce755153920b69c07a6ea2 b/cover_db/structure/dd837b8e4fce755153920b69c07a6ea2 new file mode 100644 index 0000000..c6b6ee6 --- /dev/null +++ b/cover_db/structure/dd837b8e4fce755153920b69c07a6ea2 @@ -0,0 +1 @@ +{"subroutine":[[3,"BEGIN"],[4,"BEGIN"],[5,"BEGIN"],[6,"BEGIN"],[7,"BEGIN"],[8,"BEGIN"],[9,"BEGIN"],[10,"BEGIN"],[11,"BEGIN"],[12,"BEGIN"],[13,"BEGIN"],[14,"BEGIN"],[15,"BEGIN"],[16,"BEGIN"],[30,"new"],[47,"setDefaultLogger"],[54,"setCustomLogger"],[63,"enableDebugMode"],[70,"disableDebugMode"],[77,"getPOSTData"],[107,"getSession"],[117,"getURL"],[123,"getUserAgent"],[135,"setUserAgent"],[149,"getProxy"],[158,"setProxy"],[169,"getReferer"],[178,"setReferer"],[189,"getVersion"],[195,"saveSession"],[205,"reuseSession"],[213,"setURL"],[220,"setOTP"],[227,"setSession"],[234,"setRemoteIPAddress"],[241,"setCredentials"],[249,"setRoleCredentials"],[257,"login"],[275,"loginExtended"],[301,"logout"],[311,"request"],[352,"requestNextResponsePage"],[374,"requestAllResponsePages"],[393,"setUserView"],[400,"resetUserView"],[407,"useDefaultConnectionSetup"],[413,"useHighPerformanceConnectionSetup"],[419,"useOTESystem"],[427,"useLIVESystem"],[435,"_flattenCommand"],[457,"_autoIDNConvert"]],"digest":"dd837b8e4fce755153920b69c07a6ea2","condition":[[55,{"op":"and","type":"and_3","left":"defined $logger","right":"$logger->can(\"log\")"}],[79,{"right":"$secured == 1","left":"defined $secured","type":"and_3","op":"and"}],[94,{"right":"$secured == 1","left":"defined $secured","type":"and_3","op":"and"}],[140,{"op":"and","type":"and_3","left":"defined $modules","right":"length $modules > 0"}],[259,{"op":"||","type":"or_2","left":"$otp","right":"''"}]],"pod":[[30,"new"],[47,"setDefaultLogger"],[54,"setCustomLogger"],[63,"enableDebugMode"],[70,"disableDebugMode"],[77,"getPOSTData"],[107,"getSession"],[117,"getURL"],[123,"getUserAgent"],[135,"setUserAgent"],[149,"getProxy"],[158,"setProxy"],[169,"getReferer"],[178,"setReferer"],[189,"getVersion"],[195,"saveSession"],[205,"reuseSession"],[213,"setURL"],[220,"setOTP"],[227,"setSession"],[234,"setRemoteIPAddress"],[241,"setCredentials"],[249,"setRoleCredentials"],[257,"login"],[275,"loginExtended"],[301,"logout"],[311,"request"],[352,"requestNextResponsePage"],[374,"requestAllResponsePages"],[393,"setUserView"],[400,"resetUserView"],[407,"useDefaultConnectionSetup"],[413,"useHighPerformanceConnectionSetup"],[419,"useOTESystem"],[427,"useLIVESystem"]],"start":{"400":{"resetUserView":[{"pod":30,"condition":5,"subroutine":44,"time":null,"statement":244,"branch":27}]},"123":{"getUserAgent":[{"branch":7,"time":null,"statement":87,"subroutine":22,"condition":3,"pod":8}]},"54":{"setCustomLogger":[{"time":null,"statement":50,"branch":null,"pod":2,"condition":null,"subroutine":16}]},"30":{"new":[{"pod":null,"condition":null,"subroutine":14,"statement":41,"time":null,"branch":null}]},"427":{"useLIVESystem":[{"statement":255,"time":null,"branch":27,"pod":34,"condition":5,"subroutine":48}]},"77":{"getPOSTData":[{"time":null,"statement":60,"branch":1,"pod":5,"condition":1,"subroutine":19}]},"249":{"setRoleCredentials":[{"statement":147,"time":null,"branch":13,"pod":22,"condition":4,"subroutine":36}]},"257":{"login":[{"statement":151,"time":null,"branch":13,"subroutine":37,"pod":23,"condition":4}]},"10":{"BEGIN":[{"condition":null,"pod":null,"subroutine":7,"branch":null,"time":null,"statement":20}]},"11":{"BEGIN":[{"pod":null,"condition":null,"subroutine":8,"statement":23,"time":null,"branch":null}]},"169":{"getReferer":[{"subroutine":26,"condition":4,"pod":12,"branch":11,"statement":113,"time":null}]},"374":{"requestAllResponsePages":[{"time":null,"statement":227,"branch":27,"subroutine":42,"pod":28,"condition":5}]},"16":{"BEGIN":[{"pod":null,"condition":null,"subroutine":13,"statement":38,"time":null,"branch":null}]},"12":{"BEGIN":[{"pod":null,"condition":null,"subroutine":9,"time":null,"statement":26,"branch":null}]},"7":{"BEGIN":[{"subroutine":4,"pod":null,"condition":null,"time":null,"statement":11,"branch":null}]},"275":{"loginExtended":[{"time":null,"statement":163,"branch":15,"pod":24,"condition":5,"subroutine":38}]},"117":{"getURL":[{"time":null,"statement":85,"branch":7,"subroutine":21,"pod":7,"condition":3}]},"407":{"useDefaultConnectionSetup":[{"condition":5,"pod":31,"subroutine":45,"branch":27,"statement":247,"time":null}]},"413":{"useHighPerformanceConnectionSetup":[{"subroutine":46,"pod":32,"condition":5,"time":null,"statement":249,"branch":27}]},"5":{"BEGIN":[{"pod":null,"condition":null,"subroutine":2,"statement":5,"time":null,"branch":null}]},"107":{"getSession":[{"pod":6,"condition":3,"subroutine":20,"time":null,"statement":80,"branch":6}]},"419":{"useOTESystem":[{"pod":33,"condition":5,"subroutine":47,"time":null,"statement":251,"branch":27}]},"135":{"setUserAgent":[{"subroutine":23,"pod":9,"condition":3,"statement":94,"time":null,"branch":8}]},"158":{"setProxy":[{"subroutine":25,"pod":11,"condition":4,"time":null,"statement":108,"branch":10}]},"6":{"BEGIN":[{"statement":8,"time":null,"branch":null,"subroutine":3,"pod":null,"condition":null}]},"70":{"disableDebugMode":[{"subroutine":18,"condition":1,"pod":4,"branch":1,"time":null,"statement":57}]},"13":{"BEGIN":[{"subroutine":10,"condition":null,"pod":null,"branch":null,"time":null,"statement":29}]},"189":{"getVersion":[{"time":null,"statement":122,"branch":13,"subroutine":28,"pod":14,"condition":4}]},"8":{"BEGIN":[{"condition":null,"pod":null,"subroutine":5,"branch":null,"time":null,"statement":14}]},"301":{"logout":[{"branch":18,"time":null,"statement":182,"condition":5,"pod":25,"subroutine":39}]},"178":{"setReferer":[{"subroutine":27,"pod":13,"condition":4,"statement":117,"time":null,"branch":12}]},"47":{"setDefaultLogger":[{"subroutine":15,"condition":null,"pod":1,"branch":null,"time":null,"statement":47}]},"393":{"setUserView":[{"time":null,"statement":241,"branch":27,"subroutine":43,"pod":29,"condition":5}]},"311":{"request":[{"subroutine":40,"condition":5,"pod":26,"branch":19,"time":null,"statement":187}]},"15":{"BEGIN":[{"branch":null,"time":null,"statement":35,"condition":null,"pod":null,"subroutine":12}]},"220":{"setOTP":[{"time":null,"statement":134,"branch":13,"subroutine":32,"pod":18,"condition":4}]},"435":{"_flattenCommand":[{"branch":27,"statement":259,"time":null,"subroutine":49,"condition":5,"pod":35}]},"14":{"BEGIN":[{"subroutine":11,"condition":null,"pod":null,"branch":null,"time":null,"statement":32}]},"213":{"setURL":[{"condition":4,"pod":17,"subroutine":31,"branch":13,"statement":131,"time":null}]},"63":{"enableDebugMode":[{"subroutine":17,"condition":1,"pod":3,"branch":1,"statement":54,"time":null}]},"352":{"requestNextResponsePage":[{"condition":5,"pod":27,"subroutine":41,"branch":24,"time":null,"statement":212}]},"3":{"BEGIN":[{"condition":null,"pod":null,"subroutine":null,"branch":null,"time":null,"statement":null}]},"149":{"getProxy":[{"subroutine":24,"condition":4,"pod":10,"branch":9,"statement":104,"time":null}]},"205":{"reuseSession":[{"condition":4,"pod":16,"subroutine":30,"branch":13,"time":null,"statement":127}]},"-1":{"__COVER__":[{"branch":35,"statement":303,"time":null,"subroutine":51,"condition":5,"pod":35}]},"4":{"BEGIN":[{"subroutine":1,"pod":null,"condition":null,"time":null,"statement":2,"branch":null}]},"9":{"BEGIN":[{"branch":null,"statement":17,"time":null,"subroutine":6,"condition":null,"pod":null}]},"227":{"setSession":[{"pod":19,"condition":4,"subroutine":33,"statement":137,"time":null,"branch":13}]},"195":{"saveSession":[{"condition":4,"pod":15,"subroutine":29,"branch":13,"statement":124,"time":null}]},"457":{"_autoIDNConvert":[{"pod":35,"condition":5,"subroutine":50,"statement":275,"time":null,"branch":29}]},"234":{"setRemoteIPAddress":[{"branch":13,"time":null,"statement":140,"condition":4,"pod":20,"subroutine":34}]},"241":{"setCredentials":[{"condition":4,"pod":21,"subroutine":35,"branch":13,"statement":143,"time":null}]}},"branch":[[55,{"text":"if (defined $logger and $logger->can(\"log\"))"}],[79,{"text":"if (defined $secured and $secured == 1)"}],[85,{"text":"if (defined $cmd->{$key})"}],[83,{"text":"if (ref $cmd eq 'HASH') { }"}],[94,{"text":"if (defined $secured and $secured == 1)"}],[98,{"text":"if (utf8::is_utf8($tmp))"}],[109,{"text":"if (length $sessid)"}],[124,{"text":"unless (length $self->{'ua'})"}],[140,{"text":"if (defined $modules and length $modules > 0)"}],[150,{"text":"if (exists $self->{'curlopts'}{'PROXY'})"}],[159,{"text":"if (length $proxy == 0) { }"}],[170,{"text":"if (exists $self->{'curlopts'}{'REFERER'})"}],[179,{"text":"if (length $referer == 0) { }"}],[264,{"text":"if (defined $col)"}],[261,{"text":"if ($rr->isSuccess)"}],[278,{"text":"unless (defined $otpc)"}],[290,{"text":"if (defined $col)"}],[287,{"text":"if ($rr->isSuccess)"}],[303,{"text":"if ($rr->isSuccess)"}],[327,{"text":"if ($referer)"}],[331,{"text":"if ($proxy)"}],[338,{"text":"if ($self->{'debugMode'})"}],[343,{"text":"if ($self->{'debugMode'})"}],[336,{"text":"if ($r->is_success) { }"}],[354,{"text":"if (defined $mycmd->{'LAST'})"}],[358,{"text":"if (defined $mycmd->{'FIRST'})"}],[364,{"text":"if ($first < $total)"}],[438,{"text":"if ($newkey ne $key)"}],[441,{"text":"if (ref $cmd->{$newkey} eq \"ARRAY\")"}],[458,{"text":"if ($cmd->{'COMMAND'} =~ /^CONVERTIDN$/imsux)"}],[462,{"text":"if (scalar @keys == 0)"}],[469,{"text":"if ($val =~ /[^[:lower:]\\d. -]/imsux)"}],[474,{"text":"if (scalar @toconvert == 0)"}],[484,{"text":"if ($col)"}],[482,{"text":"if ($r->isSuccess)"}]],"file":"blib/lib/WebService/Hexonet/Connector/APIClient.pm","statement":[3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8,9,9,9,10,10,10,11,11,11,12,12,12,13,13,13,14,14,14,15,15,15,16,16,16,30,31,39,40,41,42,47,48,49,54,55,56,58,63,64,65,70,71,72,77,78,79,80,82,83,84,84,85,86,87,88,92,94,95,97,98,99,101,102,107,108,109,110,112,117,118,123,124,125,126,127,128,130,135,136,137,138,139,140,141,141,143,144,149,150,151,153,158,159,160,162,164,169,170,171,173,178,179,180,182,184,189,190,195,199,200,205,206,207,208,213,214,215,220,221,222,227,228,229,234,235,236,241,242,243,244,249,250,251,252,257,258,259,260,261,262,263,264,265,266,268,270,275,276,277,278,279,281,282,283,283,284,286,287,288,289,290,291,292,294,296,301,302,303,304,306,311,313,315,318,319,320,322,323,324,325,326,327,328,330,331,332,335,336,337,338,339,342,343,344,347,352,353,354,355,357,358,359,361,362,363,364,365,366,367,369,374,375,376,377,377,378,380,381,382,383,384,385,386,388,393,394,395,400,401,402,407,408,413,414,419,420,421,422,427,428,429,430,435,436,436,437,438,439,441,442,442,443,444,445,446,447,449,452,457,458,459,461,461,461,462,463,465,466,467,468,469,470,471,474,475,477,482,483,484,485,486,487,487,488,489,493]} \ No newline at end of file diff --git a/cover_db/structure/fd530d9a97d020c18e5788338d94a0e8.lock b/cover_db/structure/dd837b8e4fce755153920b69c07a6ea2.lock similarity index 100% rename from cover_db/structure/fd530d9a97d020c18e5788338d94a0e8.lock rename to cover_db/structure/dd837b8e4fce755153920b69c07a6ea2.lock diff --git a/cover_db/structure/fd530d9a97d020c18e5788338d94a0e8 b/cover_db/structure/fd530d9a97d020c18e5788338d94a0e8 deleted file mode 100644 index 0904b1b..0000000 --- a/cover_db/structure/fd530d9a97d020c18e5788338d94a0e8 +++ /dev/null @@ -1 +0,0 @@ -{"statement":[3,3,4,4,4,5,5,5,11,12,13,14,14,15,16,21,22,27,28,33,34,35,37,42,43,44],"digest":"fd530d9a97d020c18e5788338d94a0e8","start":{"33":{"getDataByIndex":[{"subroutine":6,"time":null,"statement":19,"branch":null,"condition":null,"pod":3}]},"11":{"new":[{"statement":8,"subroutine":3,"time":null,"condition":null,"pod":null,"branch":null}]},"27":{"getData":[{"statement":17,"time":null,"subroutine":5,"condition":null,"pod":2,"branch":null}]},"3":{"BEGIN":[{"pod":null,"condition":null,"branch":null,"statement":null,"subroutine":null,"time":null}]},"-1":{"__COVER__":[{"condition":null,"pod":5,"branch":1,"statement":26,"time":null,"subroutine":8}]},"21":{"getKey":[{"statement":15,"time":null,"subroutine":4,"condition":null,"pod":1,"branch":null}]},"5":{"BEGIN":[{"pod":null,"condition":null,"branch":null,"statement":5,"subroutine":2,"time":null}]},"4":{"BEGIN":[{"branch":null,"pod":null,"condition":null,"subroutine":1,"time":null,"statement":2}]},"42":{"hasDataIndex":[{"branch":1,"condition":null,"pod":4,"time":null,"subroutine":7,"statement":23}]}},"subroutine":[[3,"BEGIN"],[4,"BEGIN"],[5,"BEGIN"],[11,"new"],[21,"getKey"],[27,"getData"],[33,"getDataByIndex"],[42,"hasDataIndex"]],"branch":[[35,{"text":"if $self->hasDataIndex($idx)"}]],"pod":[[11,"new"],[21,"getKey"],[27,"getData"],[33,"getDataByIndex"],[42,"hasDataIndex"]],"file":"blib/lib/WebService/Hexonet/Connector/Column.pm"} \ No newline at end of file diff --git a/lib/WebService/Hexonet.pm b/lib/WebService/Hexonet.pm index 437b733..30931a6 100644 --- a/lib/WebService/Hexonet.pm +++ b/lib/WebService/Hexonet.pm @@ -4,7 +4,7 @@ use 5.030; use strict; use warnings; use WebService::Hexonet::Connector; -our $VERSION = 'v2.10.3'; +our $VERSION = 'v2.10.4'; 1; diff --git a/lib/WebService/Hexonet/Connector.pm b/lib/WebService/Hexonet/Connector.pm index 53884a4..72cc912 100644 --- a/lib/WebService/Hexonet/Connector.pm +++ b/lib/WebService/Hexonet/Connector.pm @@ -12,7 +12,7 @@ use WebService::Hexonet::Connector::ResponseTemplate; use WebService::Hexonet::Connector::ResponseTemplateManager; use WebService::Hexonet::Connector::SocketConfig; -our $VERSION = 'v2.10.3'; +our $VERSION = 'v2.10.4'; 1; diff --git a/lib/WebService/Hexonet/Connector/APIClient.pm b/lib/WebService/Hexonet/Connector/APIClient.pm index b7413b5..ebcc113 100644 --- a/lib/WebService/Hexonet/Connector/APIClient.pm +++ b/lib/WebService/Hexonet/Connector/APIClient.pm @@ -21,7 +21,7 @@ Readonly our $ISPAPI_CONNECTION_URL_OTE => 'https://api-ote.ispapi.net/api/cal Readonly our $ISPAPI_CONNECTION_URL_LIVE => 'https://api.ispapi.net/api/call.cgi'; # LIVE Connection Setup URL Readonly our $ISPAPI_CONNECTION_URL_PROXY => 'http://127.0.0.1/api/call.cgi'; # High Speed Connection Setup URL -our $VERSION = 'v2.10.3'; +our $VERSION = 'v2.10.4'; my $rtm = WebService::Hexonet::Connector::ResponseTemplateManager->getInstance(); diff --git a/lib/WebService/Hexonet/Connector/Column.pm b/lib/WebService/Hexonet/Connector/Column.pm index d161799..232a5cd 100644 --- a/lib/WebService/Hexonet/Connector/Column.pm +++ b/lib/WebService/Hexonet/Connector/Column.pm @@ -4,7 +4,7 @@ use 5.030; use strict; use warnings; -our $VERSION = 'v2.10.3'; +our $VERSION = 'v2.10.4'; sub new { diff --git a/lib/WebService/Hexonet/Connector/Logger.pm b/lib/WebService/Hexonet/Connector/Logger.pm index 91a767f..85f3aaa 100644 --- a/lib/WebService/Hexonet/Connector/Logger.pm +++ b/lib/WebService/Hexonet/Connector/Logger.pm @@ -5,7 +5,7 @@ use strict; use warnings; use Data::Dumper; -our $VERSION = 'v2.10.3'; +our $VERSION = 'v2.10.4'; sub new { diff --git a/lib/WebService/Hexonet/Connector/Record.pm b/lib/WebService/Hexonet/Connector/Record.pm index 7f184d5..a9f4edc 100644 --- a/lib/WebService/Hexonet/Connector/Record.pm +++ b/lib/WebService/Hexonet/Connector/Record.pm @@ -4,7 +4,7 @@ use 5.030; use strict; use warnings; -our $VERSION = 'v2.10.3'; +our $VERSION = 'v2.10.4'; sub new { diff --git a/lib/WebService/Hexonet/Connector/Response.pm b/lib/WebService/Hexonet/Connector/Response.pm index d612ed1..0531c04 100644 --- a/lib/WebService/Hexonet/Connector/Response.pm +++ b/lib/WebService/Hexonet/Connector/Response.pm @@ -11,7 +11,7 @@ use List::MoreUtils qw(first_index); use Readonly; Readonly my $INDEX_NOT_FOUND => -1; -our $VERSION = 'v2.10.3'; +our $VERSION = 'v2.10.4'; sub new { diff --git a/lib/WebService/Hexonet/Connector/ResponseParser.pm b/lib/WebService/Hexonet/Connector/ResponseParser.pm index 5047c1c..7237d00 100644 --- a/lib/WebService/Hexonet/Connector/ResponseParser.pm +++ b/lib/WebService/Hexonet/Connector/ResponseParser.pm @@ -4,7 +4,7 @@ use 5.030; use strict; use warnings; -our $VERSION = 'v2.10.3'; +our $VERSION = 'v2.10.4'; sub parse { diff --git a/lib/WebService/Hexonet/Connector/ResponseTemplate.pm b/lib/WebService/Hexonet/Connector/ResponseTemplate.pm index 18b4f2a..228e6b7 100644 --- a/lib/WebService/Hexonet/Connector/ResponseTemplate.pm +++ b/lib/WebService/Hexonet/Connector/ResponseTemplate.pm @@ -6,7 +6,7 @@ use warnings; use WebService::Hexonet::Connector::ResponseParser; use WebService::Hexonet::Connector::ResponseTemplateManager; -our $VERSION = 'v2.10.3'; +our $VERSION = 'v2.10.4'; my $rtm = WebService::Hexonet::Connector::ResponseTemplateManager->getInstance(); diff --git a/lib/WebService/Hexonet/Connector/ResponseTemplateManager.pm b/lib/WebService/Hexonet/Connector/ResponseTemplateManager.pm index 5884b01..3ef5593 100644 --- a/lib/WebService/Hexonet/Connector/ResponseTemplateManager.pm +++ b/lib/WebService/Hexonet/Connector/ResponseTemplateManager.pm @@ -6,7 +6,7 @@ use warnings; use WebService::Hexonet::Connector::ResponseTemplate; use WebService::Hexonet::Connector::ResponseParser; -our $VERSION = 'v2.10.3'; +our $VERSION = 'v2.10.4'; my $instance = undef; diff --git a/lib/WebService/Hexonet/Connector/SocketConfig.pm b/lib/WebService/Hexonet/Connector/SocketConfig.pm index eddda30..e74b6e1 100644 --- a/lib/WebService/Hexonet/Connector/SocketConfig.pm +++ b/lib/WebService/Hexonet/Connector/SocketConfig.pm @@ -5,7 +5,7 @@ use strict; use warnings; use utf8; -our $VERSION = 'v2.10.3'; +our $VERSION = 'v2.10.4'; sub new {
filestmtbrancondsubpodtimetotal
blib/lib/WebService/Hexonet/Connector.pm100.0n/an/a100.0n/a 1.7100.0
blib/lib/WebService/Hexonet/Connector/APIClient.pm97.382.850.098.091.492.893.4
blib/lib/WebService/Hexonet/Connector/Column.pm100.0100.0n/a100.0100.0 0.9100.0
blib/lib/WebService/Hexonet/Connector.pm100.0n/an/a100.0n/a 1.9100.0
blib/lib/WebService/Hexonet/Connector/APIClient.pm97.382.850.098.091.491.393.4
blib/lib/WebService/Hexonet/Connector/Column.pm100.0100.0n/a100.0100.0 1.2100.0
blib/lib/WebService/Hexonet/Connector/Logger.pm73.350.0n/a100.0100.0 0.077.5
blib/lib/WebService/Hexonet/Connector/Record.pm100.0100.0n/a100.0100.0 0.0100.0
blib/lib/WebService/Hexonet/Connector/Response.pm98.284.861.1100.096.4 3.894.3
blib/lib/WebService/Hexonet/Connector/Response.pm98.284.861.1100.096.4 4.794.3
blib/lib/WebService/Hexonet/Connector/ResponseParser.pm100.0100.0n/a100.0100.0 0.4100.0
blib/lib/WebService/Hexonet/Connector/ResponseTemplate.pm100.0100.083.3100.0100.0 0.098.9
blib/lib/WebService/Hexonet/Connector/ResponseTemplate.pm100.0100.083.3100.0100.0 0.198.9
blib/lib/WebService/Hexonet/Connector/ResponseTemplateManager.pm100.0100.033.3100.0100.0 0.097.5
blib/lib/WebService/Hexonet/Connector/SocketConfig.pm100.0100.0n/a100.0100.0 0.0100.0
Total97.687.758.599.496.2100.095.2