Class: RJR::Messages::Compressed::Request

Inherits:
Uncompressed::Request
  • Object
show all
Defined in:
lib/rjr/messages/compressed.rb

Constant Summary collapse

COMPRESSED =
true

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args = {}) ⇒ Request

Returns a new instance of Request.



31
32
33
# File 'lib/rjr/messages/compressed.rb', line 31

def initialize(args = {})
  parse_args(args)
end

Class Method Details

.is_compressed_request_message?(message) ⇒ Boolean

Returns:

  • (Boolean)


69
70
71
72
73
74
75
76
# File 'lib/rjr/messages/compressed.rb', line 69

def self.is_compressed_request_message?(message)
  begin
     parsed = JSONParser.parse(message)
     parsed.has_key?('m') && parsed.has_key?('i')
  rescue Exception => e
    false
  end
end

.is_request_message?(message) ⇒ Boolean

Returns:

  • (Boolean)


78
79
80
# File 'lib/rjr/messages/compressed.rb', line 78

def self.is_request_message?(message)
  is_compressed_request_message?(message) || super(message)
end

Instance Method Details

#to_json(*a) ⇒ Object



82
83
84
85
86
87
88
89
90
# File 'lib/rjr/messages/compressed.rb', line 82

def to_json(*a)
  deflated = Zlib::Deflate.deflate(@jr_args.to_json.to_s)
  encoded  = Base64.encode64(deflated)

  {'j' => 2.0,
   'i' => @msg_id,
   'm' => @jr_method,
   'p' => encoded}.merge(@headers).to_json(*a)
end