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