Method: Gem::GemcutterUtilities::WebauthnListener.listener_thread

Defined in:
lib/rubygems/gemcutter_utilities/webauthn_listener.rb

.listener_thread(host, server) ⇒ Object



35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/rubygems/gemcutter_utilities/webauthn_listener.rb', line 35

def self.listener_thread(host, server)
  Thread.new do
    thread = Thread.current
    thread.abort_on_exception = true
    thread.report_on_exception = false
    thread[:otp] = new(host).wait_for_otp_code(server)
  rescue Gem::WebauthnVerificationError => e
    thread[:error] = e
  ensure
    server.close
  end
end