lib/kafkr/log.rb in kafkr-0.13.0 vs lib/kafkr/log.rb in kafkr-0.18.0
- old
+ new
@@ -33,31 +33,32 @@
end
@broker.add_subscriber(client)
Thread.new do
- loop do
- encrypted_message = client.gets
- if encrypted_message.nil?
- @broker.last_sent.delete(client)
- client.close
- @broker.subscribers.delete(client)
- puts "Client connection closed. Removed from subscribers list."
- break
- else
- decryptor = Kafkr::Encryptor.new
- message = decryptor.decrypt(encrypted_message.chomp) # Decrypt the message here
- uuid, message_content = extract_uuid(message)
- if uuid && message_content
- @broker.broadcast(message_content)
+
+
+ begin
+
+ loop do
+ encrypted_message = client.gets
+ if encrypted_message.nil?
+ @broker.last_sent.delete(client)
+ client.close
+ @broker.subscribers.delete(client)
+ break
else
- puts "Received invalid message format: #{message}"
+ decryptor = Kafkr::Encryptor.new
+ message = decryptor.decrypt(encrypted_message.chomp) # Decrypt the message here
+ uuid, message_content = extract_uuid(message)
+ @broker.broadcast(message_content)
end
- end
- rescue Errno::ECONNRESET
- puts "Connection reset by client. Closing connection..."
- client.close
+ rescue Errno::ECONNRESET
+ client.close
+ end
+ rescue StandardError => exception
+ #TODO we need to find the place for a global exception handler
end
end
end
end
@@ -69,12 +70,13 @@
def extract_uuid(message)
# Check if message is valid JSON
begin
message = JSON.parse(message)
+ Kafkr.log ">> #{message}"
return message["uuid"], message
rescue JSON::ParserError => e
- puts "Received invalid message format: #{message}"
+ Kafkr.log ">> #{message}"
match_data = /^(\w{8}-\w{4}-\w{4}-\w{4}-\w{12}): (.+)$/.match(message)
match_data ? [match_data[1], match_data[2]] : [nil, nil]
end
end
end