X-Git-Url: https://git.camperquake.de/gitweb.cgi?p=xmlrtorrent.git;a=blobdiff_plain;f=xmlrtorrent%2FHTTPTalker.pm;h=1254b2ddd506d1157447dbbfebcc0a490de7e8fb;hp=4eb6a8d3fe9e997e9bc9a4b7e96f1dae915e564c;hb=HEAD;hpb=8d2a3eb8a869670b3b80896a687dbf733c671170 diff --git a/xmlrtorrent/HTTPTalker.pm b/xmlrtorrent/HTTPTalker.pm index 4eb6a8d..1254b2d 100644 --- a/xmlrtorrent/HTTPTalker.pm +++ b/xmlrtorrent/HTTPTalker.pm @@ -4,8 +4,8 @@ # licensed under GNU GPL v2 package xmlrtorrent::HTTPTalker; -use xmlrtorrent::TalkerBase; -@ISA = qw(xmlrtorrent::TalkerBase); +use xmlrtorrent::RTorrentTalkerBase; +@ISA = qw(xmlrtorrent::RTorrentTalkerBase); use Data::Dumper; use RPC::XML::Client; @@ -18,9 +18,9 @@ sub new { $self->{'NAME'} = 'http'; $self->{'DESC'} = 'talker using RPC over HTTP'; $self->{'_PARAMS'} = { - 'XMLURL' => ['', 'URL of SCGI script'], - 'USERNAME' => ['', 'username for RPC credentials (optional)'], - 'PASSWORD' => ['', 'password for RPC credentials (optional)'], + 'XMLURL' => ['', 'URL of SCGI script'], + 'USERNAME' => ['', 'username for RPC credentials (optional)'], + 'PASSWORD' => ['', 'password for RPC credentials (optional)'], }; $self->{'_LASTXMLURL'} = undef; @@ -35,19 +35,23 @@ sub send_request { my $self = shift; my @params = @_; - unless (exists($self->{'XMLURL'}) and defined($self->{'XMLURL'})) { - return 'http talker: XMLURL not set'; + my $xmlurl = $self->_getval('XMLURL'); + + unless (defined($xmlurl) and $xmlurl ne '') { + return 'http talker: XMLURL not set'; } - if ($self->{'XMLURL'} ne $self->{'_LASTXMLURL'}) { - $self->{'_LASTXMLURL'} = $self->{'XMLURL'}; - $self->{'__RPCClient'} = RPC::XML::Client->new($self->{'XMLURL'}); + if ($xmlurl ne $self->{'_LASTXMLURL'}) { + $self->{'_LASTXMLURL'} = $xmlurl; + $self->{'__RPCClient'} = RPC::XML::Client->new($xmlurl); } - if ((exists($self->{'USERNAME'}) and exists($self->{'PASSWORD'})) and - ($self->{'USERNAME'} ne '')) { - # mitch: let me guess, the realm must be configurable, too! - $self->{'__RPCClient'}->credentials('', $self->{'USERNAME'}, $self->{'PASSWORD'}); + my $username = $self->_getval('USERNAME'); + my $password = $self->_getval('PASSWORD'); + + if (defined $username and defined $password and $username ne '') { + # mitch: let me guess, the realm must be configurable, too! + $self->{'__RPCClient'}->credentials('', $username, $password); } return $self->{'__RPCClient'}->send_request(@params);