class Mmtrix::Agent::InboundRequestMonitor

Attributes

obfuscator[R]

Public Class Methods

new(events) click to toggle source
# File lib/mmtrix/agent/inbound_request_monitor.rb, line 19
def initialize(events)
  events.subscribe(:finished_configuring) do
    # This requires :encoding_key, so must wait until :finished_configuring
    setup_obfuscator
    on_finished_configuring(events)
  end
end

Public Instance Methods

deserialize_header(encoded_header, key) click to toggle source
# File lib/mmtrix/agent/inbound_request_monitor.rb, line 31
def deserialize_header(encoded_header, key)
  decoded_header = obfuscator.deobfuscate(encoded_header)
  Mmtrix::JSONWrapper.load(decoded_header)
rescue => err
  # If we have a failure of any type here, just return nil and carry on
  Mmtrix::Agent.logger.debug("Failure deserializing encoded header '#{key}' in #{self.class}, #{err.class}, #{err.message}")
  nil
end
setup_obfuscator() click to toggle source
# File lib/mmtrix/agent/inbound_request_monitor.rb, line 27
def setup_obfuscator
  @obfuscator = Mmtrix::Agent::Obfuscator.new(Mmtrix::Agent.config[:encoding_key])
end