Sha256: 6541b548f82f255edd0463e5492234d14f183901c5c4652082af67614b1bf3aa

Contents?: true

Size: 1.15 KB

Versions: 12

Compression:

Stored size: 1.15 KB

Contents

require 'faraday_middleware'
require 'faraday/request/multipart_with_file'
require 'faraday/response/raise_http_4xx'
require 'faraday/response/raise_http_5xx'

module Assistly
  # @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::MultipartWithFile
        builder.use Faraday::Request::OAuth, authentication if authenticated?
        builder.use Faraday::Request::Multipart
        builder.use Faraday::Request::UrlEncoded
        builder.use Faraday::Response::RaiseHttp4xx
        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::RaiseHttp5xx
        builder.adapter(adapter)
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
assistly-0.2.6 lib/assistly/connection.rb
assistly-0.2.5 lib/assistly/connection.rb
assistly-0.2.3 lib/assistly/connection.rb
assistly-0.2.2 lib/assistly/connection.rb
assistly-0.2.1 lib/assistly/connection.rb
assistly-0.2.0 lib/assistly/connection.rb
assistly-0.1.5 lib/assistly/connection.rb
assistly-0.1.4 lib/assistly/connection.rb
assistly-0.1.3 lib/assistly/connection.rb
assistly-0.1.2 lib/assistly/connection.rb
assistly-0.1.1 lib/assistly/connection.rb
assistly-0.1 lib/assistly/connection.rb