diff options
author | Miklós Fazekas <mfazekas@szemafor.com> | 2015-01-27 10:40:51 +0100 |
---|---|---|
committer | Miklós Fazekas <mfazekas@szemafor.com> | 2015-01-27 10:40:51 +0100 |
commit | c4a5c45e19b5b87f6cfae64881bf3731eb0d82e7 (patch) | |
tree | 993b6988d6798e23522cc797a024b54f64403282 | |
parent | 082d1ac9b883d68628390887c1240c45a71fb034 (diff) | |
parent | 161df7352eeb45310dee168d7e58348ad71258ba (diff) | |
download | net-ssh-c4a5c45e19b5b87f6cfae64881bf3731eb0d82e7.tar.gz |
Merge pull request #225 from mfazekas/reafactor-proxy-code
Refactor proxy code
-rw-r--r-- | lib/net/ssh/transport/session.rb | 15 | ||||
-rw-r--r-- | test/transport/test_session.rb | 2 |
2 files changed, 9 insertions, 8 deletions
diff --git a/lib/net/ssh/transport/session.rb b/lib/net/ssh/transport/session.rb index 76dd18b..19e6bbd 100644 --- a/lib/net/ssh/transport/session.rb +++ b/lib/net/ssh/transport/session.rb @@ -63,14 +63,15 @@ module Net; module SSH; module Transport @options = options debug { "establishing connection to #{@host}:#{@port}" } - factory = options[:proxy] || TCPSocket - @socket = timeout(options[:timeout] || 0) { - case - when options[:proxy] then factory.open(@host, @port, options) - when @bind_address.nil? then factory.open(@host, @port) - else factory.open(@host, @port, @bind_address) + + @socket = timeout(options[:timeout] || 0) do + if (factory = options[:proxy]) + factory.open(@host, @port, options) + else + TCPSocket.open(@host, @port, @bind_address) end - } + end + @socket.extend(PacketStream) @socket.logger = @logger diff --git a/test/transport/test_session.rb b/test/transport/test_session.rb index 88e8402..6c267ec 100644 --- a/test/transport/test_session.rb +++ b/test/transport/test_session.rb @@ -315,7 +315,7 @@ module Transport def session(options={}) @session ||= begin host = options.delete(:host) || "net.ssh.test" - TCPSocket.stubs(:open).with(host, options[:port] || 22).returns(socket) + TCPSocket.stubs(:open).with(host, options[:port] || 22, nil).returns(socket) Net::SSH::Transport::ServerVersion.stubs(:new).returns(server_version) Net::SSH::Transport::Algorithms.stubs(:new).returns(algorithms) |