line |
true |
false |
branch |
83
|
0 |
1 |
if not $persist_ok{$accessor} and $_[1] ne $_[0]{$accessor} |
86
|
1 |
96 |
@_ > 1 ? : |
93
|
145 |
6 |
if (@_ > 1) |
95
|
2 |
143 |
defined $agent && $agent =~ / $/ ? : |
102
|
3 |
5 |
if (@_ > 1) |
104
|
2 |
1 |
if ($self->{'handle'}) |
120
|
2 |
142 |
defined $args{'timeout'} ? : |
124
|
15 |
129 |
if $args{'cookie_jar'} |
127
|
129 |
1575 |
if exists $args{$key} |
130
|
2 |
140 |
exists $args{'agent'} ? : |
144
|
139 |
3 |
unless (exists $self->{'proxy'}) |
148
|
4 |
138 |
if (defined $self->{'proxy'}) { } |
156
|
141 |
1 |
unless (exists $self->{'http_proxy'}) |
158
|
2 |
139 |
if $ENV{'REQUEST_METHOD'} |
162
|
10 |
132 |
if (defined $self->{'http_proxy'}) { } |
171
|
140 |
1 |
unless (exists $self->{'https_proxy'}) |
175
|
6 |
135 |
if ($self->{'https_proxy'}) { } |
184
|
138 |
3 |
unless (ref $self->{'no_proxy'} eq "ARRAY") |
186
|
6 |
132 |
defined $self->{'no_proxy'} ? : |
209
|
0 |
0 |
unless @_ == 2 or @_ == 3 and ref $args eq "HASH" |
|
3 |
6 |
unless @_ == 2 or @_ == 3 and ref $args eq "HASH" |
|
0 |
0 |
unless @_ == 2 or @_ == 3 and ref $args eq "HASH" |
|
0 |
0 |
unless @_ == 2 or @_ == 3 and ref $args eq "HASH" |
|
0 |
2 |
unless @_ == 2 or @_ == 3 and ref $args eq "HASH" |
|
0 |
8 |
unless @_ == 2 or @_ == 3 and ref $args eq "HASH" |
241
|
0 |
1 |
unless @_ == 3 or @_ == 4 and ref $args eq "HASH" |
245
|
5 |
2 |
unless $args->{'headers'} |
286
|
4 |
1 |
unless @_ == 3 or @_ == 4 and ref $args eq "HASH" |
289
|
1 |
4 |
if (exists $args->{'headers'}) |
291
|
0 |
2 |
unless $args->{'headers'} |
297
|
3 |
2 |
if (-e $file and my $mtime = (stat $file)[9]) |
303
|
0 |
5 |
unless sysopen my $fh, $tempfile, 193 |
308
|
0 |
5 |
unless close $fh |
311
|
3 |
2 |
if ($response->{'success'}) |
312
|
0 |
3 |
unless rename $tempfile, $file |
315
|
3 |
0 |
if ($lm and my $mtime = $self->_parse_http_date($lm)) |
431
|
4 |
111 |
unless @_ == 3 or @_ == 4 and ref $args eq "HASH" |
439
|
10 |
0 |
unless $@ and $idempotent{$method} and $@ =~ /^(?:Socket closed|Unexpected end|SSL read error)/ |
443
|
10 |
129 |
if (my $e = $@) |
445
|
0 |
0 |
if (ref $e eq "HASH" and exists $e->{'status'}) |
446
|
0 |
0 |
unless $args->{'_redirects'} |
|
0 |
0 |
if @{[] unless $args->{'_redirects'};} |
462
|
9 |
1 |
unless $args->{'_redirects'} |
|
0 |
10 |
@{[] unless $args->{'_redirects'};} ? : |
484
|
0 |
6 |
unless @_ == 2 and ref $data |
486
|
0 |
6 |
unless ref $data eq "HASH" or ref $data eq "ARRAY" |
489
|
2 |
4 |
ref $data eq 'HASH' ? : |
490
|
0 |
6 |
unless @params % 2 == 0 |
496
|
1 |
13 |
unless defined $key |
498
|
0 |
13 |
if (ref $value eq 'ARRAY') { } |
506
|
3 |
2 |
ref $data eq 'ARRAY' ? : |
533
|
13 |
0 |
if $INC[-1] eq "." |
534
|
0 |
13 |
unless (eval {
do {
require IO::Socket::SSL;
"IO::Socket::SSL"->VERSION("1.42")
}
}) |
540
|
0 |
13 |
unless (eval {
do {
require Net::SSLeay;
"Net::SSLeay"->VERSION("1.49")
}
}) |
546
|
2 |
1 |
if (ref $self and $self->{'verify_SSL'} || $self->{'SSL_options'}{'SSL_verify_mode'}) |
551
|
1 |
1 |
unless (eval {
do {
$handle->_find_CA_file;
1
}
}) |
557
|
10 |
3 |
wantarray ? : |
581
|
0 |
0 |
if ($self->{'handle'}) |
600
|
144 |
0 |
if defined $version |
609
|
1 |
149 |
if ($scheme ne "http" and $scheme ne "https") |
618
|
147 |
2 |
$port == $DefaultPort{$scheme} ? : |
626
|
0 |
149 |
if ("CODE" eq ref $peer) |
634
|
13 |
136 |
if ($handle) |
635
|
10 |
3 |
unless ($handle->can_reuse($scheme, $host, $port, $peer)) |
649
|
34 |
107 |
if $self->{'cookie_jar'} |
653
|
2 |
139 |
if ($method eq 'HEAD' or $response->{'status'} =~ /^[23]04/) { } |
659
|
11 |
128 |
@redir_args ? : |
664
|
29 |
111 |
if ($self->{'keep_alive'} and $handle->connected and $known_message_length and $response->{'protocol'} eq 'HTTP/1.1' and ($response->{'headers'}{'connection'} || '') ne 'close') { } |
680
|
11 |
129 |
if (@redir_args) |
687
|
9 |
120 |
if @{$args->{'_redirects'};} |
702
|
2 |
144 |
if ($self->{'_has_proxy'}{$scheme} and not grep({$host =~ /\Q$_\E$/;} @{$$self{'no_proxy'};})) { } |
714
|
0 |
2 |
if ($request->{'scheme'} eq 'https') { } |
715
|
0 |
0 |
unless $self->{'https_proxy'} |
717
|
0 |
0 |
if ($proxy_vars[0] eq "https") |
722
|
0 |
2 |
unless $self->{'http_proxy'} |
728
|
1 |
1 |
if (length $p_auth and not defined $request->{'headers'}{'proxy-authorization'}) |
734
|
0 |
2 |
if ($request->{'scheme'} eq 'https') { } |
750
|
0 |
21 |
unless (defined $scheme and length $scheme and length $host and length $port and $path_query eq "/") |
766
|
0 |
0 |
exists $request->{'headers'}{'user-agent'} ? : |
777
|
0 |
0 |
if ($request->{'headers'}{'proxy-authorization'}) |
789
|
0 |
0 |
unless (substr($response->{'status'}, 0, 1) eq 2) |
803
|
266 |
24 |
unless defined $_ |
810
|
1 |
144 |
if (exists $request->{'headers'}{'host'}) |
817
|
110 |
34 |
unless $self->{'keep_alive'} |
820
|
42 |
102 |
if ($request->{'method'} eq "PUT" or $request->{'method'} eq "POST") |
821
|
16 |
26 |
unless (defined $args->{'content'} and length $args->{'content'}) |
826
|
27 |
117 |
if (defined $args->{'content'}) |
827
|
5 |
22 |
if (ref $args->{'content'} eq 'CODE') { } |
|
21 |
1 |
elsif (length $args->{'content'}) { } |
828
|
0 |
5 |
if (exists $request->{'content-length'} and $request->{'content-length'} == 0) { } |
835
|
3 |
0 |
unless exists $request->{'headers'}{'content-length'} or $request->{'headers'}{'transfer-encoding'} |
841
|
21 |
0 |
if ($] ge "5.008") |
842
|
0 |
21 |
unless utf8::downgrade($content, 1) |
848
|
20 |
0 |
unless $request->{'headers'}{'content-length'} or $request->{'headers'}{'transfer-encoding'} |
852
|
1 |
26 |
if ref $args->{'trailer_callback'} eq "CODE" |
856
|
34 |
110 |
if ($self->{'cookie_jar'}) |
858
|
22 |
12 |
if length $cookies |
862
|
4 |
140 |
if (length $auth and not defined $request->{'headers'}{'authorization'}) |
882
|
135 |
4 |
unless ($data_cb and $response->{'status'} =~ /^2/) |
883
|
1 |
134 |
if (defined $self->{'max_size'}) { } |
887
|
1 |
0 |
if length $_[1]{'content'} > $self->{'max_size'} |
901
|
4 |
30 |
unless defined $cookies |
903
|
2 |
28 |
ref $cookies ? : |
915
|
2 |
27 |
unless ref $jar and ref($jar)->can($method) |
928
|
11 |
2 |
if ($status eq '303' || $status =~ /^30[1278]/ && $method =~ /^GET|HEAD$/ and $headers->{'location'} and @{$args->{'_redirects'};} < $self->{'max_redirect'}) |
934
|
1 |
10 |
$headers->{'location'} =~ m[^/] ? : |
935
|
2 |
9 |
$status eq '303' ? : |
944
|
1 |
185 |
unless my($scheme, $host, $path_query) = $url =~ m[\A([^:/?#]+)://([^/?#]*)([^#]*)] |
948
|
46 |
139 |
unless $path_query =~ m[\A/] |
951
|
12 |
173 |
if ((my $i = index($host, "\@")) != -1) |
959
|
11 |
2 |
$scheme eq 'https' ? : |
|
151 |
13 |
$scheme eq 'http' ? : |
|
21 |
164 |
$host =~ s/:(\d*)\z// && length $1 ? : |
964
|
183 |
2 |
length $host ? : |
983
|
5 |
4 |
if ($str =~ /^[SMTWF][a-z]+, +(\d{1,2}) ($MoY) +(\d\d\d\d) +(\d\d):(\d\d):(\d\d) +GMT$/) { } |
|
2 |
2 |
elsif ($str =~ /^[SMTWF][a-z]+, +(\d\d)-($MoY)-(\d{2,4}) +(\d\d):(\d\d):(\d\d) +GMT$/) { } |
|
2 |
0 |
elsif ($str =~ /^[SMTWF][a-z]+ +($MoY) +(\d{1,2}) +(\d\d):(\d\d):(\d\d) +(?:[^0-9]+ +)?(\d\d\d\d)$/) { } |
993
|
9 |
0 |
@tl_parts ? : |
994
|
0 |
9 |
$t < 0 ? : |
1007
|
2 |
24 |
unless defined $str |
1008
|
24 |
0 |
if ($] ge '5.008') { } |
1013
|
0 |
0 |
if length $str == do {
use bytes;
length $str
} |
1066
|
2 |
0 |
if (@_ > 1) |
1068
|
0 |
2 |
if ($self->{'fh'} and $self->{'fh'}->can("timeout")) |
1076
|
0 |
12 |
unless @_ == 5 |
1079
|
9 |
3 |
if ($scheme eq "https") |
1091
|
1 |
11 |
$self->{'local_address'} ? : |
|
1 |
11 |
unless $self->{'fh'} = $SOCKET_CLASS->new("PeerHost", $peer, "PeerPort", $port, $self->{'local_address'} ? ("LocalAddr", $self->{'local_address'}) : (), "Proto", "tcp", "Type", 1, "Timeout", $self->{'timeout'}) |
1094
|
0 |
11 |
unless binmode $self->{'fh'} |
1096
|
11 |
0 |
if ($self->{'keep_alive'}) |
1097
|
0 |
11 |
unless (defined $self->{'fh'}->setsockopt(1, 9, 1)) |
1103
|
9 |
2 |
if $scheme eq "https" |
1117
|
8 |
0 |
if ($self->{'fh'} and $self->{'fh'}->connected) |
1120
|
0 |
8 |
wantarray ? : |
1131
|
0 |
9 |
if (ref $self->{'fh'} eq "IO::Socket::SSL") |
1132
|
0 |
0 |
unless ($self->{'fh'}->stop_SSL) |
1148
|
3 |
6 |
unless (ref $self->{'fh'} eq "IO::Socket::SSL") |
1155
|
0 |
0 |
unless @_ == 1 |
1158
|
0 |
0 |
unless CORE::close $self->{'fh'} |
1162
|
0 |
359 |
unless @_ == 2 |
1165
|
359 |
0 |
if ($] ge "5.008") |
1166
|
0 |
359 |
unless utf8::downgrade($buf, 1) |
1176
|
0 |
359 |
unless $self->can_write |
1179
|
359 |
0 |
if (defined $r) { } |
|
0 |
0 |
elsif ($! == 32) { } |
|
0 |
0 |
elsif ($! != 4) { } |
1182
|
359 |
0 |
unless $len > 0 |
1188
|
0 |
0 |
if ($self->{'fh'}->can('errstr')) { } |
1202
|
0 |
674 |
unless @_ == 2 or @_ == 3 |
1208
|
639 |
35 |
if ($got) |
1209
|
23 |
616 |
$got < $len ? : |
1220
|
0 |
323 |
unless $self->can_read |
1223
|
323 |
0 |
if (defined $r) { } |
|
0 |
0 |
elsif ($! != 4) { } |
1224
|
4 |
319 |
unless $r |
1228
|
0 |
0 |
if ($self->{'fh'}->can('errstr')) { } |
1237
|
0 |
674 |
if ($len and not $allow_partial) |
1244
|
0 |
1227 |
unless @_ == 1 |
1248
|
1227 |
201 |
if ($self->{'rbuf'} =~ s/\A ([^\x0D\x0A]* \x0D?\x0A)//x) |
1251
|
0 |
201 |
if (length $self->{'rbuf'} >= $self->{'max_line_size'}) |
1255
|
0 |
201 |
unless $self->can_read |
1257
|
201 |
0 |
if (defined $r) { } |
|
0 |
0 |
elsif ($! != 4) { } |
1258
|
0 |
201 |
unless $r |
1261
|
0 |
0 |
if ($self->{'fh'}->can('errstr')) { } |
1274
|
0 |
168 |
unless @_ == 1 or @_ == 2 |
1283
|
0 |
782 |
if (++$lines >= $self->{'max_header_lines'}) { } |
|
611 |
171 |
elsif ($line =~ /\A ([^\x00-\x1F\x7F:]+) : [\x09\x20]* ([^\x0D\x0A]*)/x) { } |
|
3 |
168 |
elsif ($line =~ /\A [\x09\x20]+ ([^\x0D\x0A]*)/x) { } |
|
168 |
0 |
elsif ($line =~ /\A \x0D?\x0A \z/x) { } |
1288
|
17 |
594 |
if (exists $headers->{$field_name}) { } |
1290
|
13 |
4 |
unless ref $_ eq "ARRAY" |
1300
|
0 |
3 |
unless $val |
1302
|
1 |
2 |
unless length $1 |
1303
|
1 |
1 |
if length $$val |
1317
|
0 |
8 |
unless @_ == 2 |
1320
|
0 |
8 |
if $request->{'cb'} |
1343
|
0 |
148 |
unless @_ >= 2 and @_ <= 4 and ref $_[1] eq "HASH" |
1347
|
144 |
4 |
defined $prefix_data ? : |
1352
|
892 |
144 |
unless exists $headers->{$k} |
1356
|
0 |
144 |
ref $v eq 'ARRAY' ? : |
1357
|
0 |
144 |
unless defined $_ |
1365
|
144 |
369 |
if $seen{$field_name} |
1366
|
358 |
11 |
if (exists $HeaderCase{$field_name}) { } |
1370
|
5 |
6 |
if (exists $header_case->{$field_name}) { } |
1376
|
1 |
10 |
unless $field_name =~ /\A $Token+ \z/ox |
1380
|
3 |
365 |
ref $v eq 'ARRAY' ? : |
1383
|
0 |
371 |
unless $_ eq "" or /\A $Field_Content \z/ox |
1385
|
0 |
371 |
unless defined $_ |
1397
|
0 |
139 |
unless @_ == 3 |
1400
|
1 |
138 |
ref $te eq 'ARRAY' ? : |
1401
|
14 |
125 |
$chunked ? : |
1407
|
0 |
26 |
unless @_ == 2 |
1409
|
23 |
3 |
if (exists $request->{'headers'}{'content-length'}) { } |
1410
|
1 |
22 |
unless $request->{'headers'}{'content-length'} |
1419
|
0 |
404 |
unless @_ == 3 or @_ == 4 |
1423
|
402 |
2 |
if (defined $content_length) |
1426
|
7 |
385 |
$len > 32768 ? : |
1440
|
0 |
23 |
unless @_ == 2 |
1447
|
23 |
150 |
unless defined $data and length $data |
1450
|
150 |
0 |
if ($] ge "5.008") |
1451
|
0 |
150 |
unless utf8::downgrade($data, 1) |
1458
|
0 |
23 |
unless $len == $content_length |
1465
|
0 |
16 |
unless @_ == 3 |
1471
|
0 |
294 |
unless $head =~ /\A ([A-Fa-f0-9]+)/x |
1474
|
16 |
278 |
unless my $len = hex $1 |
1479
|
0 |
278 |
unless $self->read(2) eq "\r\n" |
1487
|
0 |
5 |
unless @_ == 2 |
1494
|
5 |
54 |
unless defined $data and length $data |
1497
|
54 |
0 |
if ($] ge "5.008") |
1498
|
0 |
54 |
unless utf8::downgrade($data, 1) |
1512
|
2 |
3 |
if (ref $request->{'trailer_cb'} eq 'CODE') { } |
1522
|
0 |
151 |
unless @_ == 1 |
1527
|
2 |
149 |
unless $line =~ m[\A (HTTP/(0*\d+\.0*\d+)) [\x09\x20]+ ([0-9]{3}) (?: [\x09\x20]+ ([^\x0D\x0A]*) )? \x0D?\x0A]x |
1531
|
2 |
147 |
unless defined $reason |
1533
|
2 |
147 |
unless $version =~ /0*1\.0*[01]/ |
1545
|
0 |
144 |
unless @_ == 5 |
1554
|
338 |
0 |
unless defined $timeout and $timeout >= 0 |
1557
|
0 |
338 |
unless defined $fd and $fd >= 0 |
1567
|
330 |
8 |
$type eq 'read' ? : |
1570
|
0 |
338 |
if ($nfound == -1) |
1571
|
0 |
0 |
unless $! == 4 |
1573
|
0 |
0 |
if not $timeout or ($pending = $timeout - (time - $initial)) > 0 |
1583
|
0 |
368 |
unless @_ == 1 or @_ == 2 |
1585
|
364 |
4 |
if (ref $self->{'fh'} eq "IO::Socket::SSL") |
1586
|
38 |
326 |
if $self->{'fh'}->pending |
1592
|
0 |
8 |
unless @_ == 1 or @_ == 2 |
1599
|
0 |
9 |
unless $ok |
1612
|
7 |
3 |
if $self->{'pid'} != $$ or $self->{'tid'} != _get_tid() or length $self->{'rbuf'} or $scheme ne $self->{'scheme'} or $host ne $self->{'host'} or $port ne $self->{'port'} or $peer ne $self->{'peer'} or eval {
do {
$self->can_read(0)
}
} or $@ |
1625
|
1 |
4 |
defined $self->{'SSL_options'}{'SSL_ca_file'} ? : |
1627
|
1 |
4 |
if (defined $ca_file) |
1628
|
1 |
0 |
unless (-r $ca_file) |
1635
|
3 |
1 |
if $INC[-1] eq "." |
1637
|
4 |
0 |
if eval {
do {
require Mozilla::CA;
1
}
} |
1650
|
0 |
0 |
if -e $ca_bundle |
1660
|
0 |
155 |
'threads'->can('tid') ? : |
1670
|
9 |
0 |
if (Net::SSLeay::OPENSSL_VERSION_NUMBER() >= 16777216) |
1674
|
3 |
6 |
if ($self->{'verify_SSL'}) { } |
1687
|
18 |
0 |
if $k =~ /^SSL_/ |