In message <20020207180548.1C1B.HIROSHISAITO / pob.org>,
 `Hiroshi Saito <HiroshiSaito / pob.org>' wrote:
> HTTPのProxyの実装が特異メソッドになっているのと
> class Options の定義は  Net::HTTP にあって
> class PropFind の定義は Net::WebDAV::HTTP にある違いで
> 問題が発生しているような気がします。
> 
> どうすれば、この問題は回避できるのでしょうか?

ProxyMod.create_proxy_class が HTTP を決めうちで継承して
いるせいではないでしょうか。クラスを渡してやるようにした
ら、WebDAV.rb も動きました。

# https を作る時に同じ問題で悩んだのですが、その時は継承
# しないようにしたので報告するのを忘れていました。

--
ごとうゆうぞう

diff -u -r1.66 http.rb
--- http.rb	30 Dec 2001 19:18:45 -0000	1.66
+++ http.rb	7 Feb 2002 11:27:23 -0000
@@ -509,7 +509,7 @@
 
       def Proxy( p_addr, p_port = nil )
         if p_addr then
-          ProxyMod.create_proxy_class( p_addr, p_port || self.port )
+          ProxyMod.create_proxy_class( self, p_addr, p_port || self.port )
         else
           self
         end
@@ -563,9 +563,9 @@
 
     module ProxyMod
 
-      def self.create_proxy_class( p_addr, p_port )
+      def self.create_proxy_class( klass, p_addr, p_port )
         mod = self
-        klass = Class.new( HTTP )
+        klass = Class.new( klass )
         klass.module_eval {
             include mod
             @is_proxy_class = true