Sha256: 710e5db4de8a2f5e0d6f6d9a9b50261f63e8a9472955ee09295916d221ea96d3

Contents?: true

Size: 1.23 KB

Versions: 5

Compression:

Stored size: 1.23 KB

Contents

require 'faraday'
require 'footrest/http_error'
require 'footrest/pagination'
require 'footrest/follow_redirects'
require 'footrest/parse_json'

module Footrest
  module Connection

    attr_reader :connection

    def set_connection(config)
      config[:logger] = config[:logging] if config[:logging]
      @connection = Faraday.new(url: config[:prefix]) do |faraday|
        faraday.request                     :multipart
        faraday.request                     :url_encoded
        if config[:logger] == true
          faraday.response :logger
        elsif config[:logger]
          faraday.use Faraday::Response::Logger, config[:logger]
        end
        faraday.use                         Footrest::FollowRedirects
        faraday.use                         Footrest::ParseJson, :content_type => /\bjson$/
        faraday.use                         Footrest::RaiseFootrestErrors
        faraday.use                         Footrest::Pagination
        faraday.headers[:accept]          = "application/json"
        faraday.headers[:authorization]   = "Bearer #{config[:token]}" if config[:token]
        faraday.headers[:user_agent]      = "Footrest"
        faraday.adapter                     Faraday.default_adapter
      end
    end

  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
footrest-0.5.8 lib/footrest/connection.rb
footrest-0.5.7 lib/footrest/connection.rb
footrest-0.5.6 lib/footrest/connection.rb
footrest-0.5.5 lib/footrest/connection.rb
footrest-0.5.3 lib/footrest/connection.rb