Sha256: af86cd84b43ed3ff4d18c244bdf4ecdc59d1438068a5d1f90add38e1aa98c67f

Contents?: true

Size: 1.11 KB

Versions: 11

Compression:

Stored size: 1.11 KB

Contents

require 'faraday_middleware'
require 'faraday/response/raise_octokit_error'

module Octokit
  # @private
  module Connection
    private

    def connection(authenticate=true, raw=false, version=3, force_urlencoded=false)
      case version
      when 2
        url = "https://github.com"
      when 3
        url = "https://api.github.com"
      end

      options = {
        :proxy => proxy,
        :ssl => { :verify => false },
        :url => url,
      }

      options.merge!(:params => {:access_token => oauth_token}) if oauthed? && !authenticated?

      connection = Faraday.new(options) do |builder|
        if version >= 3 && !force_urlencoded
          builder.request :json
        else
          builder.request :url_encoded
        end
        builder.use Faraday::Response::RaiseOctokitError
        unless raw
          builder.use FaradayMiddleware::Mashify
          builder.use FaradayMiddleware::ParseJson
        end
        builder.adapter(adapter)
      end
      connection.basic_auth authentication[:login], authentication[:password] if authenticate and authenticated?
      connection
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
octokit-1.5.0 lib/octokit/connection.rb
octokit-1.4.0 lib/octokit/connection.rb
octokit-1.3.0 lib/octokit/connection.rb
octokit-1.2.1 lib/octokit/connection.rb
octokit-1.2.0 lib/octokit/connection.rb
octokit-1.1.1 lib/octokit/connection.rb
octokit-1.1.0 lib/octokit/connection.rb
octokit-1.0.7 lib/octokit/connection.rb
octokit-1.0.6 lib/octokit/connection.rb
octokit-1.0.5 lib/octokit/connection.rb
octokit-1.0.4 lib/octokit/connection.rb