lib/active_merchant/common/posts_data.rb in bitfluent-activemerchant-1.5.1.1 vs lib/active_merchant/common/posts_data.rb in bitfluent-activemerchant-1.15.1

- old
+ new

@@ -3,11 +3,11 @@ def self.included(base) base.superclass_delegating_accessor :ssl_strict base.ssl_strict = true - base.class_inheritable_accessor :retry_safe + base.class_attribute :retry_safe base.retry_safe = false base.superclass_delegating_accessor :open_timeout base.open_timeout = 60 @@ -23,13 +23,16 @@ end def ssl_post(endpoint, data, headers = {}) ssl_request(:post, endpoint, data, headers) end - - private - def ssl_request(method, endpoint, data, headers = {}) + + def ssl_request(method, endpoint, data, headers) + handle_response(raw_ssl_request(method, endpoint, data, headers)) + end + + def raw_ssl_request(method, endpoint, data, headers = {}) connection = Connection.new(endpoint) connection.open_timeout = open_timeout connection.read_timeout = read_timeout connection.retry_safe = retry_safe connection.verify_peer = ssl_strict @@ -37,11 +40,24 @@ connection.tag = self.class.name connection.wiredump_device = wiredump_device connection.pem = @options[:pem] if @options connection.pem_password = @options[:pem_password] if @options + + connection.ignore_http_status = @options[:ignore_http_status] if @options connection.request(method, data, headers) end + + private + + def handle_response(response) + case response.code.to_i + when 200...300 + response.body + else + raise ResponseError.new(response) + end + end end -end \ No newline at end of file +end