lib/pubnub/events/where_now.rb in pubnub-3.8.5 vs lib/pubnub/events/where_now.rb in pubnub-4.0.0beta1

- old
+ new

@@ -23,39 +23,76 @@ 'uuid', @uuid_looking_for ].join('/') end - def format_envelopes(response) + def format_envelopes(response, request) parsed_response, error = Formatter.parse_json(response.body) error = response if parsed_response && response.code.to_i != 200 - envelopes = if error - [error_envelope(parsed_response, error)] - else - [valid_envelope(parsed_response)] - end - - add_common_data_to_envelopes(envelopes, response) + if error + error_envelope(parsed_response, error, request: request, response: response) + else + valid_envelope(parsed_response, request: request, response: response) + end end - def valid_envelope(parsed_response) - Envelope.new( - parsed_response: parsed_response, - payload: parsed_response['payload'], - service: parsed_response['service'], - message: parsed_response['message'], - status: parsed_response['status'] + def valid_envelope(parsed_response, req_res_objects) + Pubnub::Envelope.new( + event: @event, + event_options: @given_options, + timetoken: nil, + status: { + code: req_res_objects[:response].code, + client_request: req_res_objects[:request], + server_response: req_res_objects[:response], + data: nil, + category: Pubnub::Constants::STATUS_ACK, + error: false, + auto_retried: false, + + current_timetoken: nil, + last_timetoken: nil, + subscribed_channels: nil, + subscribed_channel_groups: nil, + + config: get_config + + }, + result: { + code: req_res_objects[:response].code, + operation: Pubnub::Constants::OPERATION_WHERE_NOW, + client_request: req_res_objects[:request], + server_response: req_res_objects[:response], + + data: parsed_response['payload'] + } ) end - def error_envelope(parsed_response, error) - ErrorEnvelope.new( - error: error, - response_message: response_message(parsed_response), - channel: @channel.first, - timetoken: timetoken(parsed_response) + def error_envelope(_parsed_response, error, req_res_objects) + Pubnub::ErrorEnvelope.new( + event: @event, + event_options: @given_options, + timetoken: nil, + status: { + code: req_res_objects[:response].code, + operation: Pubnub::Constants::OPERATION_WHERE_NOW, + client_request: req_res_objects[:request], + server_response: req_res_objects[:response], + data: nil, + category: (error ? Pubnub::Constants::STATUS_NON_JSON_RESPONSE : Pubnub::Constants::STATUS_ERROR), + error: true, + auto_retried: false, + + current_timetoken: nil, + last_timetoken: nil, + subscribed_channels: nil, + subscribed_channel_groups: nil, + + config: get_config + } ) end end end