lib/reapal/http/response.rb in reapal-0.2.1 vs lib/reapal/http/response.rb in reapal-0.2.2
- old
+ new
@@ -11,10 +11,17 @@
self.data_valid = true
params.each do |key, value|
instance_variable_set("@#{key}", value)
end
+
+ self.data = {} if self.data.nil? # 默认一定要有
+
+ unless self.data_valid
+ self.data[:errorCode] = 'sign_valid_fail'
+ self.data[:errorMsg] = '数据签名错误'
+ end
end
def [] key
instance_variable_get("#{key}")
end
@@ -24,9 +31,23 @@
self.instance_variables.map{ |value|
arr << "\t#{value.to_s} => #{self[value.to_sym]}"
}
arr << ["}"]
arr.join("\n")
+ end
+
+ def http_success?
+ http_response && http_response.is_a?(Net::HTTPSuccess)
+ end
+
+ def http_fail?
+ # 而 400 错误一般都是地址不存在或者没有权限,都当成错误处理
+ http_response && http_response.code.to_s == '404'
+ end
+
+ def http_pending?
+ # nil 的时候是超时,非 404 的其他错误都是 pending
+ http_response.nil? || (!http_success? && !http_fail?)
end
end
end