ruby-changes:42285
From: naruse <ko1@a...>
Date: Tue, 29 Mar 2016 14:43:09 +0900 (JST)
Subject: [ruby-changes:42285] naruse:r54359 (ruby_2_3): merge revision(s) 53318: [Backport #11489]
naruse 2016-03-29 14:43:04 +0900 (Tue, 29 Mar 2016) New Revision: 54359 https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=54359 Log: merge revision(s) 53318: [Backport #11489] * lib/xmlrpc/client.rb: Support SSL options in async methods of XMLRPC::Client. [Bug #11489] Reported by Aleksandar Kostadinov. Thanks!!! Modified directories: branches/ruby_2_3/ Modified files: branches/ruby_2_3/ChangeLog branches/ruby_2_3/lib/xmlrpc/client.rb branches/ruby_2_3/test/xmlrpc/test_client.rb branches/ruby_2_3/version.h Index: ruby_2_3/ChangeLog =================================================================== --- ruby_2_3/ChangeLog (revision 54358) +++ ruby_2_3/ChangeLog (revision 54359) @@ -1,3 +1,10 @@ https://github.com/ruby/ruby/blob/trunk/ruby_2_3/ChangeLog#L1 +Tue Mar 29 14:35:06 2016 Kouhei Sutou <kou@c...> + + * lib/xmlrpc/client.rb: Support SSL options in async methods of + XMLRPC::Client. + [Bug #11489] + Reported by Aleksandar Kostadinov. Thanks!!! + Tue Mar 29 14:22:57 2016 NARUSE, Yui <naruse@r...> * marshal.c (r_object0): honor Marshal.load post proc Index: ruby_2_3/lib/xmlrpc/client.rb =================================================================== --- ruby_2_3/lib/xmlrpc/client.rb (revision 54358) +++ ruby_2_3/lib/xmlrpc/client.rb (revision 54359) @@ -433,6 +433,24 @@ module XMLRPC # :nodoc: https://github.com/ruby/ruby/blob/trunk/ruby_2_3/lib/xmlrpc/client.rb#L433 Net::HTTP.new host, port, proxy_host, proxy_port end + def dup_net_http + http = net_http(@http.address, + @http.port, + @http.proxy_address, + @http.proxy_port) + http.proxy_user = @http.proxy_user + http.proxy_pass = @http.proxy_pass + if @http.use_ssl? + http.use_ssl = true + Net::HTTP::SSL_ATTRIBUTES.each do |attribute| + http.__send__("#{attribute}=", @http.__send__(attribute)) + end + end + http.read_timeout = @http.read_timeout + http.open_timeout = @http.open_timeout + http + end + def set_auth if @user.nil? @auth = nil @@ -464,10 +482,7 @@ module XMLRPC # :nodoc: https://github.com/ruby/ruby/blob/trunk/ruby_2_3/lib/xmlrpc/client.rb#L482 if async # use a new HTTP object for each call - http = net_http(@host, @port, @proxy_host, @proxy_port) - http.use_ssl = @use_ssl if @use_ssl - http.read_timeout = @timeout - http.open_timeout = @timeout + http = dup_net_http # post request http.start { @@ -612,4 +627,3 @@ module XMLRPC # :nodoc: https://github.com/ruby/ruby/blob/trunk/ruby_2_3/lib/xmlrpc/client.rb#L627 end # class Client end # module XMLRPC - Index: ruby_2_3/version.h =================================================================== --- ruby_2_3/version.h (revision 54358) +++ ruby_2_3/version.h (revision 54359) @@ -1,6 +1,6 @@ https://github.com/ruby/ruby/blob/trunk/ruby_2_3/version.h#L1 #define RUBY_VERSION "2.3.0" #define RUBY_RELEASE_DATE "2016-03-29" -#define RUBY_PATCHLEVEL 16 +#define RUBY_PATCHLEVEL 17 #define RUBY_RELEASE_YEAR 2016 #define RUBY_RELEASE_MONTH 3 Index: ruby_2_3/test/xmlrpc/test_client.rb =================================================================== --- ruby_2_3/test/xmlrpc/test_client.rb (revision 54358) +++ ruby_2_3/test/xmlrpc/test_client.rb (revision 54359) @@ -10,10 +10,15 @@ end https://github.com/ruby/ruby/blob/trunk/ruby_2_3/test/xmlrpc/test_client.rb#L10 module XMLRPC class ClientTest < Test::Unit::TestCase module Fake - class HTTP - attr_accessor :read_timeout, :open_timeout, :use_ssl + class HTTP < Net::HTTP + class << self + def new(*args, &block) + Class.method(:new).unbind.bind(self).call(*args, &block) + end + end def initialize responses = {} + super("127.0.0.1") @started = false @responses = responses end Property changes on: ruby_2_3 ___________________________________________________________________ Modified: svn:mergeinfo Merged /trunk:r53318 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/