Sha256: faca3fdb05fde10df93f0eb8d93029bfdf73765824ccbfff3d92bcd4fae91833

Contents?: true

Size: 905 Bytes

Versions: 9

Compression:

Stored size: 905 Bytes

Contents

# frozen_string_literal: true

require 'faraday'
require 'faraday_middleware'

module Immoscout
  module Api
    # A connection builder/handler for reusable connections.
    module Connection
      def connection
        @connection ||= Faraday::Connection.new(url: url) do |builder|
          configure_oauth(builder)
          builder.request :multipart
          builder.request :url_encoded
          builder.request :json
          builder.response :follow_redirects
          builder.response :json, content_type: /\bjson$/
          builder.adapter :net_http
        end
      end

      protected

      def configure_oauth(builder)
        builder.request(
          :oauth,
          token: config.oauth_token,
          token_secret: config.oauth_token_secret,
          consumer_key: config.consumer_key,
          consumer_secret: config.consumer_secret
        )
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
immoscout-1.7.0 lib/immoscout/api/connection.rb
immoscout-1.6.5 lib/immoscout/api/connection.rb
immoscout-1.6.4 lib/immoscout/api/connection.rb
immoscout-1.6.3 lib/immoscout/api/connection.rb
immoscout-1.6.2 lib/immoscout/api/connection.rb
immoscout-1.6.1 lib/immoscout/api/connection.rb
immoscout-1.6.0 lib/immoscout/api/connection.rb
immoscout-1.5.0 lib/immoscout/api/connection.rb
immoscout-1.4.0 lib/immoscout/api/connection.rb