summaryrefslogtreecommitdiff
path: root/lib/soap/netHttpClient.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/soap/netHttpClient.rb')
-rw-r--r--lib/soap/netHttpClient.rb11
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/soap/netHttpClient.rb b/lib/soap/netHttpClient.rb
index 1e9d71c5a3..5b16a5b443 100644
--- a/lib/soap/netHttpClient.rb
+++ b/lib/soap/netHttpClient.rb
@@ -26,13 +26,17 @@ class NetHttpClient
attr_accessor :debug_dev
attr_accessor :ssl_config # ignored for now.
attr_accessor :protocol_version # ignored for now.
+ attr_accessor :connect_timeout
+ attr_accessor :send_timeout # ignored for now.
+ attr_accessor :receive_timeout
def initialize(proxy = nil, agent = nil)
@proxy = proxy ? URI.parse(proxy) : nil
@agent = agent
@debug_dev = nil
@session_manager = SessionManager.new
- @no_proxy = nil
+ @no_proxy = @ssl_config = @protocol_version = nil
+ @connect_timeout = @send_timeout = @receive_timeout = nil
end
def test_loopback_response
@@ -55,6 +59,7 @@ class NetHttpClient
def set_basic_auth(uri, user_id, passwd)
# net/http does not handle url.
@basic_auth = [user_id, passwd]
+ raise NotImplementedError.new("basic_auth is not supported under soap4r + net/http.")
end
def set_cookie_store(filename)
@@ -99,7 +104,7 @@ private
http = create_connection(url)
response = nil
http.start { |worker|
- response, = yield(worker)
+ response = yield(worker)
worker.finish
}
@debug_dev << response.body if @debug_dev
@@ -116,6 +121,8 @@ private
if http.respond_to?(:set_debug_output)
http.set_debug_output(@debug_dev)
end
+ http.open_timeout = @connect_timeout if @connect_timeout
+ http.read_timeout = @receive_timeout if @receive_timeout
case url
when URI::HTTPS
if SSLEnabled