lib/softwear/auth/model.rb in softwear-lib-1.6.1 vs lib/softwear/auth/model.rb in softwear-lib-1.6.2
- old
+ new
@@ -185,10 +185,16 @@
rescue Errno::EPIPE => e
@default_socket = TCPSocket.open(auth_server_host, auth_server_port)
@default_socket.puts message
end
- return default_socket.gets.try(:chomp) || (raise AuthServerError, "Nil socket response?")
+ response = default_socket.gets.try(:chomp)
+ if response.nil?
+ @default_socket.close rescue nil
+ @default_socket = nil
+ return raw_query(message)
+ end
+ response
rescue Errno::ECONNREFUSED => e
raise AuthServerDown, "Unable to connect to the authentication server."
rescue Errno::ETIMEDOUT => e