Class: RockFintech::Http::Response

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(params) ⇒ Response

Returns a new instance of Response.



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/rock_fintech/http/response.rb', line 10

def initialize(params)
  self.data_valid = true

  params.each do |key, value|
    self.instance_variable_set("@#{key}", value)
  end

  self.data = {} if self.data.nil? # 默认一定要有

  unless self.data_valid
    self.data[:code] = 'sign_valid_fail'
    self.data[:msg] = '数据签名错误'
  end

end

Instance Attribute Details

#dataObject

Returns the value of attribute data.



8
9
10
# File 'lib/rock_fintech/http/response.rb', line 8

def data
  @data
end

#data_validObject

Returns the value of attribute data_valid.



8
9
10
# File 'lib/rock_fintech/http/response.rb', line 8

def data_valid
  @data_valid
end

#flow_idObject

Returns the value of attribute flow_id.



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

def flow_id
  @flow_id
end

#http_responseObject

Returns the value of attribute http_response.



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

def http_response
  @http_response
end

#raw_bodyObject

Returns the value of attribute raw_body.



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

def raw_body
  @raw_body
end

#serviceObject

Returns the value of attribute service.



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

def service
  @service
end

Instance Method Details

#[](key) ⇒ Object



26
27
28
# File 'lib/rock_fintech/http/response.rb', line 26

def [] key
  instance_variable_get("#{key}")
end

#http_fail?Boolean

Returns:

  • (Boolean)


43
44
45
46
# File 'lib/rock_fintech/http/response.rb', line 43

def http_fail?
  # 而 400 错误一般都是地址不存在或者没有权限,都当成错误处理
  http_response && http_response.code.to_s == '404'
end

#http_pending?Boolean

Returns:

  • (Boolean)


48
49
50
51
# File 'lib/rock_fintech/http/response.rb', line 48

def http_pending?
  # nil 的时候是超时,非 404 的其他错误都是 pending
  http_response.nil? || (!http_success? && !http_fail?)
end

#http_success?Boolean

Returns:

  • (Boolean)


39
40
41
# File 'lib/rock_fintech/http/response.rb', line 39

def http_success?
  http_response && /^2/ =~ http_response.code.to_s
end

#to_sObject



30
31
32
33
34
35
36
37
# File 'lib/rock_fintech/http/response.rb', line 30

def to_s
  arr = ["{"]
  self.instance_variables.map{ |value|
    arr << "\t#{value.to_s} => #{self[value.to_sym]}"
  }
  arr << ["}"]
  arr.join("\n")
end