Sha256: 3a5071eb587a8101e0f207a4a376aa57f64fe10464648c45fbb99cf80b7e783f

Contents?: true

Size: 1016 Bytes

Versions: 3

Compression:

Stored size: 1016 Bytes

Contents

require 'faraday_middleware'
require 'faraday/request/gateway'
require 'faraday/response/rainmaker_errors'


module Rainmaker
  # @private
  module Connection
    private

    def connection(raw=false)
      options = {
        :headers => {'Accept' => "application/#{format}", 'User-Agent' => user_agent},
        :proxy => proxy,
        :ssl => {:verify => false},
        :url => api_endpoint,
      }

      Faraday.new(options) do |builder|
        builder.use Faraday::Request::UrlEncoded
        builder.use Faraday::Request::Gateway, gateway if gateway
        builder.use Faraday::Response::Rashify unless raw
        unless raw
          case format.to_s.downcase
          when 'json'
            builder.use Faraday::Response::ParseJson
          when 'xml'
            builder.use Faraday::Response::ParseXml
          end
        end
        builder.use Faraday::Response::RainmakerErrors
        builder.adapter Faraday.default_adapter
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
rainmaker-0.1.5 lib/rainmaker/connection.rb
rainmaker-0.1.4 lib/rainmaker/connection.rb
rainmaker-0.1.3 lib/rainmaker/connection.rb