[Bioperl-guts-l] [Bug 2109] Deep recursion on subroutine Bio::DB::GenericWebDBI::proxy

bugzilla-daemon at portal.open-bio.org bugzilla-daemon at portal.open-bio.org
Wed Sep 27 22:03:36 EDT 2006


http://bugzilla.open-bio.org/show_bug.cgi?id=2109





------- Comment #1 from cjfields at uiuc.edu  2006-09-27 22:03 -------
Okay, I'll probably need your help a little on this one since I'm not operating
behind a proxy.  I know where the recursion is.  GenericWebDBI is-a
LWP::UserAgent, therefore, the GenericWebDBI::proxy() method clobbers
LWP::UserAgent::proxy().  I forgot to add SUPER to the call to proxy(), so it
recurses.  Oops!

sub proxy {
    my ($self,$protocol,$proxy,$username,$password) = @_;
    return undef if ( !defined $protocol || !defined $proxy );
    $self->authentication($username, $password)
    if ($username && $password);
    return $self->proxy($protocol,$proxy);
}

I suppose there are two ways to go about it; the first is to change 

return $self->proxy($protocol,$proxy);

to 

return $self->SUPER::proxy($protocol,$proxy);

The second option is to leave out GenericWebDBI::proxy() altogether.  I'll
commit the version using SUPER since it also sets authentication() in a way
similar to Bio::DB::WebDBSeqI (four args instead of two).  

I suppose I could use a _rearrange() there for named arguments, but this was
essentially copied in from WebDBSeqI.  What do you think?

Anyway, I'll also need to add proxy authentication to Bio::DB::EUtilities in
the meantime.

Let me know if the initial fix works.


-- 
Configure bugmail: http://bugzilla.open-bio.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.


More information about the Bioperl-guts-l mailing list