Sha256: 91c50c764c0245b55ac5f612c3d622e5ed9565606745c2fabef691e5c904ab4d

Contents?: true

Size: 857 Bytes

Versions: 3

Compression:

Stored size: 857 Bytes

Contents

# frozen_string_literal: true

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

3 entries across 3 versions & 1 rubygems

Version Path
immoscout-1.9.0 lib/immoscout/api/connection.rb
immoscout-1.8.1 lib/immoscout/api/connection.rb
immoscout-1.8.0 lib/immoscout/api/connection.rb