lib/zendesk_api/client.rb
# Called by {#connection} to build a connection. Can be overwritten in a
# subclass to add additional middleware and make other configuration
# changes.
#
# Uses middleware according to configuration options.
#
# Request logger if logger is not nil
#
# Retry middleware if retry is true
Called by {#connection} to build a connection. Can be overwritten in a
subclass to add additional middleware and make other configuration
changes.

Uses middleware according to configuration options.

Request logger if logger is not nil

Retry middleware if retry is true
Called by { #connection } to build a connection . Can be overwritten in a subclass to add additional middleware and make other configuration changes . Uses middleware according to configuration options . Request logger if logger is not nil Retry middleware if retry is true
def build_connection
      Faraday.new(config.options) do |builder|
        builder.use ZendeskAPI::Middleware::Response::RaiseError
        builder.use ZendeskAPI::Middleware::Response::Callback, self
        builder.use ZendeskAPI::Middleware::Response::Logger, config.logger if config.logger
        builder.use ZendeskAPI::Middleware::Response::ParseIsoDates
        builder.use ZendeskAPI::Middleware::Response::ParseJson
        builder.use ZendeskAPI::Middleware::Response::SanitizeResponse
        adapter = config.adapter || Faraday.default_adapter
        unless GZIP_EXCEPTIONS.include?(adapter)
          builder.use ZendeskAPI::Middleware::Response::Gzip
          builder.use ZendeskAPI::Middleware::Response::Deflate
        end
        if config.access_token && !config.url_based_access_token
          builder.authorization("Bearer", config.access_token)
        elsif config.access_token
          builder.use ZendeskAPI::Middleware::Request::UrlBasedAccessToken, config.access_token
        else
          builder.use Faraday::Request::BasicAuthentication, config.username, config.password
        end
        if config.cache
          builder.use ZendeskAPI::Middleware::Request::EtagCache, :cache => config.cache
        end
        builder.use ZendeskAPI::Middleware::Request::Upload
        builder.request :multipart
        builder.use ZendeskAPI::Middleware::Request::EncodeJson
        builder.use ZendeskAPI::Middleware::Request::Retry, :logger => config.logger, :retry_codes => config.retry_codes, :retry_on_exception => config.retry_on_exception if config.retry
        if config.raise_error_when_rate_limited
          builder.use ZendeskAPI::Middleware::Request::RaiseRateLimited, :logger => config.logger
        end
        builder.adapter(*adapter)
      end
    end
def build_connection Faraday . new ( config . options ) do | builder | builder . use ZendeskAPI :: Middleware :: Response :: RaiseError builder . use ZendeskAPI :: Middleware :: Response :: Callback , self builder . use ZendeskAPI :: Middleware :: Response :: Logger , config . logger if config . logger builder . use ZendeskAPI :: Middleware :: Response :: ParseIsoDates builder . use ZendeskAPI :: Middleware :: Response :: ParseJson builder . use ZendeskAPI :: Middleware :: Response :: SanitizeResponse adapter = config . adapter || Faraday . default_adapter unless GZIP_EXCEPTIONS . include? ( adapter ) builder . use ZendeskAPI :: Middleware :: Response :: Gzip builder . use ZendeskAPI :: Middleware :: Response :: Deflate end if config . access_token && ! config . url_based_access_token builder . authorization ( "Bearer" , config . access_token ) elsif config . access_token builder . use ZendeskAPI :: Middleware :: Request :: UrlBasedAccessToken , config . access_token else builder . use Faraday :: Request :: BasicAuthentication , config . username , config . password end if config . cache builder . use ZendeskAPI :: Middleware :: Request :: EtagCache , :cache => config . cache end builder . use ZendeskAPI :: Middleware :: Request :: Upload builder . request :multipart builder . use ZendeskAPI :: Middleware :: Request :: EncodeJson builder . use ZendeskAPI :: Middleware :: Request :: Retry , :logger => config . logger , :retry_codes => config . retry_codes , :retry_on_exception => config . retry_on_exception if config . retry if config . raise_error_when_rate_limited builder . use ZendeskAPI :: Middleware :: Request :: RaiseRateLimited , :logger => config . logger end builder . adapter ( * adapter ) end end
Called by {#connection} to build a connection.
Called by { #connection } to build a connection .
# response # request # Should always be first in the stack