Changeset 2397 for lang/ruby/ssb
- Timestamp:
- 12/04/07 13:22:59 (13 months ago)
- Location:
- lang/ruby/ssb/trunk
- Files:
-
- 2 modified
-
libs/ssb/request.rb (modified) (3 diffs)
-
test/request_test.rb (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/ruby/ssb/trunk/libs/ssb/request.rb
r2363 r2397 29 29 end 30 30 @term = SSB::Misc.load_terminal_info(in_cookie) 31 @http_proxy = ENV['HTTP_PROXY'] || ENV['http_proxy'] 31 32 parse_query(in_query) 32 33 end … … 36 37 cgi.query, 37 38 cgi.cookies) 39 end 40 41 def http_class(http_proxy = nil) 42 return Net::HTTP unless http_proxy 43 uri = URI.parse(http_proxy) 44 user, pass = uri.userinfo.split(/:/) if uri.userinfo 45 address = uri.host.untaint 46 port = uri.port.untaint 47 Net::HTTP.Proxy(address, port, user, pass) 38 48 end 39 49 … … 48 58 def execute 49 59 response = nil 50 Net::HTTP.start(@uri.host.untaint, @uri.port.untaint) do |http|60 http_class(@http_proxy).start(@uri.host.untaint, @uri.port.untaint) do |http| 51 61 case method 52 62 when 'GET' -
lang/ruby/ssb/trunk/test/request_test.rb
r2288 r2397 32 32 33 33 def setup 34 @http_proxy, @HTTP_PROXY = ENV['HTTP_PROXY'], ENV['http_proxy'] 35 ENV['HTTP_PROXY'], ENV['http_proxy'] = nil, nil 34 36 @request = SSB::Request.new('GET', request_params, cookie) 37 end 38 39 def teardown 40 ENV['HTTP_PROXY'], ENV['http_proxy'] = @http_proxy, @HTTP_PROXY 35 41 end 36 42 … … 121 127 mock_server.shutdown 122 128 end 129 130 test 'no proxy' do 131 http_class = @request.http_class 132 connection = http_class.new("http://www.google.com") 133 assert(!connection.proxy?) 134 end 135 136 test 'regular http proxy' do 137 http_class = @request.http_class("http://my.proxy:1234") 138 connection = http_class.new("http://www.google.com") 139 assert(connection.proxy?) 140 assert_equal(connection.proxy_port, 1234) 141 assert_equal(connection.proxy_address, "my.proxy") 142 end 143 144 test 'http proxy with authorization' do 145 http_class = @request.http_class("http://benjamin:secret999@my.proxy:1234") 146 connection = http_class.new("http://www.google.com") 147 assert(connection.proxy?) 148 assert_equal(connection.proxy_user, "benjamin") 149 assert_equal(connection.proxy_pass, "secret999") 150 end 123 151 end 124
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)