Class: RJR::Messages::Compressed::Response
- Inherits:
-
Uncompressed::Response
- Object
- RJR::Messages::Compressed::Response
- Defined in:
- lib/rjr/messages/compressed.rb
Class Method Summary collapse
Instance Method Summary collapse
- #compressed_error_json ⇒ Object
- #compressed_success_json ⇒ Object
- #has_compressed_request? ⇒ Boolean
- #has_uncompressed_request? ⇒ Boolean
-
#initialize(args = {}) ⇒ Response
constructor
A new instance of Response.
- #to_json(*a) ⇒ Object
Constructor Details
#initialize(args = {}) ⇒ Response
Returns a new instance of Response.
94 95 96 |
# File 'lib/rjr/messages/compressed.rb', line 94 def initialize(args = {}) parse_args(args) end |
Class Method Details
.is_compressed_response_message?(message) ⇒ Boolean
158 159 160 161 162 163 164 165 166 |
# File 'lib/rjr/messages/compressed.rb', line 158 def self.() begin json = JSONParser.parse() json.has_key?('r') || json.has_key?('e') rescue Exception => e puts e.to_s false end end |
.is_response_message?(message) ⇒ Boolean
168 169 170 |
# File 'lib/rjr/messages/compressed.rb', line 168 def self.() () || super() end |
Instance Method Details
#compressed_error_json ⇒ Object
180 181 182 183 184 |
# File 'lib/rjr/messages/compressed.rb', line 180 def compressed_error_json {'e' => {'co' => @result.error_code, 'm' => @result.error_msg, 'cl' => @result.error_class}} end |
#compressed_success_json ⇒ Object
172 173 174 175 176 177 178 |
# File 'lib/rjr/messages/compressed.rb', line 172 def compressed_success_json # XXX encapsulate in array & extract above so as to # guarantee to be able to be parsable JSON deflated = Zlib::Deflate.deflate([@result.result].to_json.to_s) encoded = Base64.encode64(deflated) {'r' => encoded} end |
#has_compressed_request? ⇒ Boolean
150 151 152 |
# File 'lib/rjr/messages/compressed.rb', line 150 def has_compressed_request? !!@request && @request.class.const_defined?(:COMPRESSED) end |
#has_uncompressed_request? ⇒ Boolean
154 155 156 |
# File 'lib/rjr/messages/compressed.rb', line 154 def has_uncompressed_request? !!@request && !@request.class.const_defined?(:COMPRESSED) end |
#to_json(*a) ⇒ Object
186 187 188 189 190 191 192 193 194 195 |
# File 'lib/rjr/messages/compressed.rb', line 186 def to_json(*a) return super(*a) if has_uncompressed_request? result_json = @result.success ? compressed_success_json : compressed_error_json response = {'j' => 2.0, 'i' => @msg_id}.merge(@headers). merge(result_json).to_json(*a) end |