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