class Meshchat::Network::Incoming::MessageDecryptor
Attributes
_input[R]
_json[R]
_message[R]
_message_factory[R]
Public Class Methods
new(encoded_message, message_factory)
click to toggle source
# File lib/meshchat/network/incoming/message_decryptor.rb, line 9 def initialize(encoded_message, message_factory) @_message_factory = message_factory @_input = try_decrypt(encoded_message) @_json = parse_json(@_input) @_message = process_json end
Public Instance Methods
message()
click to toggle source
# File lib/meshchat/network/incoming/message_decryptor.rb, line 16 def message _message end
Private Instance Methods
parse_json(input)
click to toggle source
# File lib/meshchat/network/incoming/message_decryptor.rb, line 22 def parse_json(input) return JSON.parse(input) rescue => e Display.debug e.message Display.debug e.backtrace.join("\n") raise Errors::BadRequest, 'could not parse json' end
process_json()
click to toggle source
# File lib/meshchat/network/incoming/message_decryptor.rb, line 44 def process_json type = _json['type'] _message_factory.create(type, data: { payload: _json }) end
try_decrypt(input)
click to toggle source
# File lib/meshchat/network/incoming/message_decryptor.rb, line 30 def try_decrypt(input) begin decoded = Base64.decode64(input) input = Encryption.decrypt(decoded, APP_CONFIG.user[:privatekey]) rescue => e Display.debug e.message Display.debug e.backtrace.join("\n") Display.debug input raise Errors::NotAuthorized, e.message end input end