Sha256: fcd52467f1cf9702598cda9b8f372346eed7aed38a427ebf8d4b64d14775dbfc
Contents?: true
Size: 1.05 KB
Versions: 29
Compression:
Stored size: 1.05 KB
Contents
require 'json' require 'net/http' require 'uri' require_relative 'version' module Plaid # Internal: The Faraday middleware used to catch errors. class Middleware < ::Faraday::Response::Middleware # Internal: Headers used for correct request and SDK tracking. NETWORK_HEADERS = { 'User-Agent' => "Plaid Ruby v#{Plaid::VERSION}", 'Content-Type' => 'application/json', 'Plaid-Version' => Plaid::API_VERSION }.freeze # Internal: Default read timeout for HTTP calls in seconds. NETWORK_TIMEOUT = 600 def on_complete(env) return unless Faraday::Response::RaiseError::ClientErrorStatuses .include?(env[:status]) error_class = Plaid::Error.error_from_type(env.body['error_type']) raise error_class.new(env.body['error_type'], env.body['error_code'], env.body['error_message'], env.body['display_message'], env.body['request_id']) end end end
Version data entries
29 entries across 29 versions & 1 rubygems