Class: ApnsGatling::Response

Inherits:
Object
  • Object
show all
Defined in:
lib/apns_gatling/response.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(message) ⇒ Response

Returns a new instance of Response.



9
10
11
12
13
14
# File 'lib/apns_gatling/response.rb', line 9

def initialize(message)
  @headers = {}
  @data = ''
  @message = message 
  @internal_error = nil
end

Instance Attribute Details

#dataObject



6
7
8
# File 'lib/apns_gatling/response.rb', line 6

def data
  @data
end

#headersObject



6
7
8
# File 'lib/apns_gatling/response.rb', line 6

def headers
  @headers
end

#messageObject (readonly)

Returns the value of attribute message.



7
8
9
# File 'lib/apns_gatling/response.rb', line 7

def message
  @message
end

Instance Method Details

#errorObject



32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/apns_gatling/response.rb', line 32

def error
  return @internal_error if @internal_error
  if status != '200'
    e = {}
    e.merge!(status: @headers[':status']) if @headers[':status']
    e.merge!('apns-id' => @headers['apns-id']) if @headers['apns-id']
    data = parse_data
    e.merge!(reason: data['reason']) if data['reason']
    e.merge!(timestamp: data['timestamp']) if data['timestamp']
    e
  end
end

#error_with(reason) ⇒ Object



28
29
30
# File 'lib/apns_gatling/response.rb', line 28

def error_with(reason)
  @internal_error = {reason: reason, 'apns-id': @message.apns_id, status: '0'}
end

#ok?Boolean

Returns:

  • (Boolean)


20
21
22
# File 'lib/apns_gatling/response.rb', line 20

def ok?
  status == '200'
end

#parse_dataObject



24
25
26
# File 'lib/apns_gatling/response.rb', line 24

def parse_data
  JSON.parse(@data) rescue @data
end

#statusObject



16
17
18
# File 'lib/apns_gatling/response.rb', line 16

def status
  @headers[':status'] if @headers
end