In message <20030308042236.B987.ZN@mbf.nifty.com>,
`Kazuhiro NISHIYAMA <zn@mbf.nifty.com>' wrote:
> CVS版のhttpproxy.rbにtypoがあったのでそれをなおして使って
> いるのですが、
うう。typo 多すぎる。
> 以下のような感じでDHCPで割り当てられた
> ネットワーク毎に上位のproxyを変更するというのは簡単に
> 対応できるのですが、URL毎にproxyを変えたいと思った場合に
> 同じ@configを使ってしまうので、同時アクセスがうまく
> 振り分けられないのではないかと思って困っています。
Proxy サーバを返すメソッドを定義して、そこで面倒を見るというの
を思い付きましたが、どうでしょう。
上流に対する Proxy Authentication にはまだ対応してませんが、
URI を返したほうがすっきりすると思うので、:ProxyHost と
:ProxyPort はやめようかと思います。
retrieving revision 1.17
diff -u -p -r1.17 httpproxy.rb
--- lib/webrick/httpproxy.rb 7 Mar 2003 18:50:48 -0000 1.17
+++ lib/webrick/httpproxy.rb 8 Mar 2003 13:41:14 -0000
@@ -87,6 +87,10 @@ module WEBrick
end
end
+ def proxy_uri(req, res)
+ @config[:ProxyURI]
+ end
+
def proxy_service(req, res)
# Proxy Authentication
proxy_auth(req, res)
@@ -101,10 +105,15 @@ module WEBrick
choose_header(req, header)
set_via(header)
+ # select upstream proxy server
+ if proxy = proxy_uri(req, res)
+ proxy_host = proxy.host
+ proxy_port = proxy.port
+ end
+
response = nil
begin
- http = Net::HTTP.new(uri.host, uri.port,
- @config[:ProxyHost], @config[:ProxyHost])
+ http = Net::HTTP.new(uri.host, uri.port, proxy.host, proxy.port)
http.start{
if @config[:ProxyTimeout]
################################## these issues are
--
ごとうゆうぞう