lib/wbem.rb in wbem-0.2.3 vs lib/wbem.rb in wbem-0.2.4
- old
+ new
@@ -33,10 +33,11 @@
#
def self.connect uri, protocol = nil, auth_scheme = nil
STDERR.puts "Wbem::Client.connect(#{uri},#{protocol},#{auth_scheme})"
unless uri.is_a?(URI)
u = URI.parse(uri)
+ # u.port will be set in any case, so check the uri for port specification
protocol_given = uri.match(/:\d/)
else
u = uri
protocol_given = uri.port
end
@@ -53,13 +54,13 @@
return CimxmlClient.new u
end
# no connect, check known ports
case u.port
when 8888, 8889, 5985, 5986
- return WsmanClient.new u, auth_scheme
+ return Wbem::Client.connect u, :wsman, auth_scheme
when 5988, 5989
- return CimxmlClient.new u
+ return Wbem::Client.connect u, :cimxml, auth_scheme
end
# STDERR.puts "no known ports"
port = u.port # keep orig port as we change u.port below
[:wsman, :cimxml].each do |protocol|
# enforce port if uri provides scheme and host only
@@ -67,14 +68,10 @@
u.port = (protocol == :cimxml) ? 5988: 5985
end
if port == 443 && u.scheme == 'https' # https://hostname
u.port = (protocol == :cimxml) ? 5989: 5986
end
- c = Wbem::Client.connect u, protocol, auth_scheme
- if c
-# STDERR.puts "Connect #{u} as #{c}"
- return c
- end
+ Wbem::Client.connect u, protocol, auth_scheme
end
end
end # Class
end # Module