[#7779] http-access-0.0.2 patch — TAKAHASHI Masayoshi <maki@...>
英文メールの書き方を勉強中の高橋です。ごぶさたしてます。
11 messages
1999/09/01
[#7780] Re: http-access-0.0.2 patch
— Takahiro Maebashi <maebashi@...>
1999/09/01
前橋です。
[#7788] Re: http-access-0.0.2 patch
— TAKAHASHI Masayoshi <maki@...>
1999/09/02
高橋征義です。
[#7817] Re: http-access-0.0.2 patch
— setsura <setsura@...>
1999/09/07
はじめまして str です。
[#7822] Re: http-access-0.0.2 patch
— "NAKAMURA, Hiroshi" <nakahiro@...>
1999/09/08
なひです.
[#7824] Re: http-access-0.0.2 patch
— setsura <setsura@...>
1999/09/08
[#7825] Re: http-access-0.0.2 patch
— "NAKAMURA, Hiroshi" <nakahiro@...>
1999/09/09
なひです.
[#7785] rb2c — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
28 messages
1999/09/02
[#7790] Re: rb2c
— Kazuhiro HIWADA <hiwada@...>
1999/09/02
ひわだです。こんばんは。
[#7786] Re: rb2c
— WATANABE Hirofumi <watanabe@...>
1999/09/02
わたなべです.
[#7791] Re: rb2c
— Kazuhiro HIWADA <hiwada@...>
1999/09/02
ひわだです。
[#7840] socket and buffering — Masaki Fukushima <fukusima@...>
福嶋です。
12 messages
1999/09/13
[#7842] Re: socket and buffering
— matz@... (Yukihiro Matsumoto)
1999/09/13
まつもと ゆきひろです
[#7844] Re: socket and buffering
— Masaki Fukushima <fukusima@...>
1999/09/14
福嶋です。
[#7847] Re: socket and buffering
— matz@... (Yukihiro Matsumoto)
1999/09/15
まつもと ゆきひろです
[#7858] Re: socket and buffering
— Masaki Fukushima <fukusima@...>
1999/09/17
福嶋です。
[#7845] [Q] irb and SizedQueue — keiju@... (Keiju ISHITSUKA)
けいじゅ@日本ラショナルソフトウェアです.
14 messages
1999/09/15
[#7848] Re: [Q] irb and SizedQueue
— matz@... (Yukihiro Matsumoto)
1999/09/15
まつもと ゆきひろです
[#7853] Re: [Q] irb and SizedQueue
— keiju@... (石塚圭樹)
1999/09/16
けいじゅ@日本ラショナルソフトウェアです.
[#7850] Re: [Q] irb and SizedQueue
— matz@... (Yukihiro Matsumoto)
1999/09/15
まつもと ゆきひろです
[#7846] newline code and __END__, here document — nobu.nakada@...
なかだです。
5 messages
1999/09/15
[#7886] fnmatch (Re: Dir.glob) — WATANABE Hirofumi <eban@...>
わたなべです.
5 messages
1999/09/20
[#7895] SOCKS5 — とみたまさひろ <tommy@...>
とみたです。
7 messages
1999/09/22
[#7902] toy JIT compiler — Kazuhiro HIWADA <hiwada@...>
ひわだです。どうも。
7 messages
1999/09/22
[#7914] SEGV at st.c — Kazuhiro Yoshida <moriq@...2.seikyou.ne.jp>
もりきゅうです.
7 messages
1999/09/25
[#7915] Re: SEGV at st.c — Kazuhiro Yoshida <moriq@...2.seikyou.ne.jp>
もりきゅうです.
1 message
1999/09/25
[#7917] [PATCH] strftime "%z", timezone — WATANABE Hirofumi <eban@...>
わたなべです.
12 messages
1999/09/25
[#7919] Re: [PATCH] strftime "%z", timezone
— matz@... (Yukihiro Matsumoto)
1999/09/25
まつもと ゆきひろです
[#7924] Re: [PATCH] strftime "%z", timezone
— WATANABE Hirofumi <eban@...>
1999/09/26
わたなべです.
[ruby-dev:7779] http-access-0.0.2 patch
From:
TAKAHASHI Masayoshi <maki@...>
Date:
1999-09-01 04:11:11 UTC
List:
ruby-dev #7779
英文メールの書き方を勉強中の高橋です。ごぶさたしてます。
# ああ、RDの話はどんどん進んでるよ……。
さて、唐突ですが、http-access で proxy を使えるように
するための patchを作りました。
HTTP/1.0なproxyでは動くことを確認したのですが、HTTP/1.1
なproxyが手元にないので、Connection: Keep-Alive とかがで
きるかどうかはちょっと分かりません(_o_)
とりあえずこちらに流しておきます。
それと、http-access.rb と url-parse.rb の再配布条件って
どうなってるんでしょうか。 contribに置かれているもので、
特に記述のないものはRubyに準拠、ってことでいいんでし
たっけ?
高橋征義 (TAKAHASHI Masayoshi) Email:maki@inac.co.jp
*** http-access.rb.old Tue Aug 31 21:40:43 1999
--- http-access.rb Wed Sep 1 12:59:27 1999
***************
*** 26,31 ****
--- 26,32 ----
class HTTPAccess
HTTP_Port = 80
attr_reader :http_version, :code, :message, :headers
+ attr_reader :proxy
def initialize(host, port=HTTP_Port, proxy=nil)
@host = host
***************
*** 34,44 ****
@requests = []
@uagent = format("HTTPAccess/0.0.1 (%s; %s)",
File.basename($0), 'ruby ' + VERSION)
end
# connect to the server
def connect
! @socket = HTTPSocket.new(@host, @port)
@state = :WAIT
@readbuf = ''
end
--- 35,50 ----
@requests = []
@uagent = format("HTTPAccess/0.0.1 (%s; %s)",
File.basename($0), 'ruby ' + VERSION)
+ @proxy = URL.new(proxy) if proxy
end
# connect to the server
def connect
! if @proxy == nil
! @socket = HTTPSocket.new(@host, @port)
! else
! @socket = HTTPSocket.new(@proxy.host, @proxy.port)
! end
@state = :WAIT
@readbuf = ''
end
***************
*** 47,52 ****
--- 53,69 ----
# send a request to the server
def request(method, path=nil, header=nil)
connect if @state == :INIT
+
+ # for http proxy
+ if @proxy
+ if @port
+ path = @proxy.scheme + '://' + @host +
+ ":" + @port.to_s + path
+ else
+ path = @proxy.scheme + '://' + @host + path
+ end
+ end
+
# send a request line
@socket.putrequest(method, path)
***************
*** 84,90 ****
# close the connection
def close
! @socket.close unless @socket.closed?
@state = :INIT
end
--- 101,109 ----
# close the connection
def close
! unless @socket.nil?
! @socket.close unless @socket.closed?
! end
@state = :INIT
end
***************
*** 273,279 ****
url = URL.new(urlstr)
#exit
! h = HTTPAccess.new(url.host, url.port)
#
p "get_header with block"
h.request_head(url.path)
--- 292,300 ----
url = URL.new(urlstr)
#exit
! proxy = 'http://proxy.some.where.jp:8080/'
!
! h = HTTPAccess.new(url.host, url.port, proxy)
#
p "get_header with block"
h.request_head(url.path)