[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Net::HTTP, inheritance + proxy problem

Rikard Lindby

8/1/2007 12:28:00 PM

Hi all,

I am trying to create a child class from Net::HTTP and the following
seems to work:
class Connection < Net::HTTP
def initialize(addr, port)
super(addr, port)
end
end
I can now write: conn = Connection.new(addr, port)
instead of: conn = Net::HTTP.new(addr, port)

But what I really would like is to be able to use the Proxy method of
Net::HTTP in initialize.
So that i could use: conn = Connection.new(addr, port, paddr, pport)
instead of: conn = Net::HTTP::Proxy(paddr, pprort).new(addr, port)

But I have as of yet no idea how to incorporate the proxy in the
Connection class.
I have tried many, many different approaches but none works.

Something like the following would be what I am after, but it does not
work (of course)
class Connection < Net::HTTP
def initialize(addr, port, paddr=nil, pport=nil)
Proxy(paddr, pport).super(addr, port)
end

end

This must be a very common question but I have not been able to find a
simple answer .
Please help

Best regards
/Rikard

1 Answer

Jano Svitok

8/1/2007 10:11:00 PM

0

On 8/1/07, Rikard Lindby <rlindby@gmail.com> wrote:
> Hi all,
>
> I am trying to create a child class from Net::HTTP and the following
> seems to work:
> class Connection < Net::HTTP
> def initialize(addr, port)
> super(addr, port)
> end
> end
> I can now write: conn = Connection.new(addr, port)
> instead of: conn = Net::HTTP.new(addr, port)
>
> But what I really would like is to be able to use the Proxy method of
> Net::HTTP in initialize.
> So that i could use: conn = Connection.new(addr, port, paddr, pport)
> instead of: conn = Net::HTTP::Proxy(paddr, pprort).new(addr, port)
>
> But I have as of yet no idea how to incorporate the proxy in the
> Connection class.
> I have tried many, many different approaches but none works.
>
> Something like the following would be what I am after, but it does not
> work (of course)
> class Connection < Net::HTTP
> def initialize(addr, port, paddr=nil, pport=nil)
> Proxy(paddr, pport).super(addr, port)
> end
>
> end

What about either:

class Connection < Net::Http
def self.create(addr, port, paddr, pport)
Proxy(paddr, pport).new(addr, port)
end
end

or

class Connection
def self.create(..)
Net::Http.Proxy(...).new(...)
end
end

use:

Connection.create(...)

(not tested though)