[前][次][番号順一覧][スレッド一覧]

ruby-changes:41861

From: usa <ko1@a...>
Date: Thu, 25 Feb 2016 19:28:58 +0900 (JST)
Subject: [ruby-changes:41861] usa:r53935 (ruby_2_1): merge revision(s) 53318: [Backport #11489]

usa	2016-02-25 19:29:39 +0900 (Thu, 25 Feb 2016)

  New Revision: 53935

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=53935

  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_1/
  Modified files:
    branches/ruby_2_1/ChangeLog
    branches/ruby_2_1/lib/xmlrpc/client.rb
    branches/ruby_2_1/test/xmlrpc/test_client.rb
    branches/ruby_2_1/version.h
Index: ruby_2_1/ChangeLog
===================================================================
--- ruby_2_1/ChangeLog	(revision 53934)
+++ ruby_2_1/ChangeLog	(revision 53935)
@@ -1,3 +1,10 @@ https://github.com/ruby/ruby/blob/trunk/ruby_2_1/ChangeLog#L1
+Thu Feb 25 19:28:19 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!!!
+
 Thu Feb 25 19:25:25 2016  NARUSE, Yui  <naruse@r...>
 
 	* marshal.c (r_object0): honor Marshal.load post proc
Index: ruby_2_1/version.h
===================================================================
--- ruby_2_1/version.h	(revision 53934)
+++ ruby_2_1/version.h	(revision 53935)
@@ -1,6 +1,6 @@ https://github.com/ruby/ruby/blob/trunk/ruby_2_1/version.h#L1
 #define RUBY_VERSION "2.1.9"
 #define RUBY_RELEASE_DATE "2016-02-25"
-#define RUBY_PATCHLEVEL 453
+#define RUBY_PATCHLEVEL 454
 
 #define RUBY_RELEASE_YEAR 2016
 #define RUBY_RELEASE_MONTH 2
Index: ruby_2_1/lib/xmlrpc/client.rb
===================================================================
--- ruby_2_1/lib/xmlrpc/client.rb	(revision 53934)
+++ ruby_2_1/lib/xmlrpc/client.rb	(revision 53935)
@@ -432,6 +432,24 @@ module XMLRPC # :nodoc: https://github.com/ruby/ruby/blob/trunk/ruby_2_1/lib/xmlrpc/client.rb#L432
       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
@@ -463,10 +481,7 @@ module XMLRPC # :nodoc: https://github.com/ruby/ruby/blob/trunk/ruby_2_1/lib/xmlrpc/client.rb#L481
 
       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 {
@@ -611,4 +626,3 @@ module XMLRPC # :nodoc: https://github.com/ruby/ruby/blob/trunk/ruby_2_1/lib/xmlrpc/client.rb#L626
   end # class Client
 
 end # module XMLRPC
-
Index: ruby_2_1/test/xmlrpc/test_client.rb
===================================================================
--- ruby_2_1/test/xmlrpc/test_client.rb	(revision 53934)
+++ ruby_2_1/test/xmlrpc/test_client.rb	(revision 53935)
@@ -9,10 +9,15 @@ end https://github.com/ruby/ruby/blob/trunk/ruby_2_1/test/xmlrpc/test_client.rb#L9
 module XMLRPC
   class ClientTest < MiniTest::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_1
___________________________________________________________________
Modified: svn:mergeinfo
   Merged /trunk:r53318


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]