File Coverage

blib/lib/IO/Socket/Socks/Wrapped.pm
Criterion Covered Total %
statement 19 23 82.6
branch n/a
condition n/a
subroutine 7 10 70.0
pod 0 4 0.0
total 26 37 70.2


line stmt bran cond sub pod time code
1             package IO::Socket::Socks::Wrapped;
2              
3 7     7   29 no warnings 'redefine';
  7         25  
  7         365  
4 7     7   46 use IO::Socket;
  7         26  
  7         31  
5 7     7   4172 use IO::Socket::Socks::Wrapper;
  7         14  
  7         74  
6              
7             our $VERSION = '0.17';
8             our $AUTOLOAD;
9              
10             sub new {
11 15     15 0 28 my ($class, $obj, $cfg) = @_;
12 15         59 bless {orig => $obj, cfg => $cfg}, $class;
13             }
14              
15             sub AUTOLOAD {
16 36     36   348014 my $self = shift;
17            
18 36         284 IO::Socket::Socks::Wrapper::_io_socket_connect_ref();
19            
20             local *IO::Socket::IP::connect = local *IO::Socket::connect = sub {
21 72     72   162184 return IO::Socket::Socks::Wrapper::_connect(@_, $self->{cfg}, 1);
22 36         1008 };
23            
24 36         370 $AUTOLOAD =~ s/^.+:://;
25 36         556 $self->{orig}->$AUTOLOAD(@_);
26             }
27              
28             sub isa {
29 14     14 0 1246 my $self = shift;
30 14         158 $self->{orig}->isa(@_);
31             }
32              
33             sub can {
34 0     0 0   my $self = shift;
35 0           $self->{orig}->can(@_);
36             }
37              
38             sub DOES {
39 0     0 0   my $self = shift;
40 0           $self->{orig}->DOES(@_);
41             }
42              
43       0     sub DESTROY {}
44              
45             1;
46              
47             __END__