code: def connection
        params = {}
        params[:client_id] = @client_id if @client_id
        params[:client_secret] = @client_secret if @client_secret
        params[:oauth_token] = @oauth_token if @oauth_token
        params[:v] = @api_version if @api_version
        params[:locale] = @locale if @locale
        @connection ||= Faraday::Connection.new(:url => api_url, :ssl => @ssl, :params => params, :headers => default_headers) do |builder|
          @connection_middleware.each do |middleware|
            builder.use *middleware
          end
          builder.adapter Faraday.default_adapter
        end
      end
docs: Sets up the connection to be used for all requests based on options passed during initialization.