Module: Octokit::Default

Defined in:
lib/octokit/default.rb

Overview

Default configuration options for Client

Constant Summary collapse

API_ENDPOINT =

Default API endpoint

'https://api.github.com'
USER_AGENT =

Default User Agent header string

"Octokit Ruby Gem #{Octokit::VERSION}"
MEDIA_TYPE =

Default media type

'application/vnd.github.v3+json'
WEB_ENDPOINT =

Default WEB endpoint

'https://github.com'
MIDDLEWARE =

Default Faraday middleware stack

Faraday::RackBuilder.new do |builder|
  # In Faraday 2.x, Faraday::Request::Retry was moved to a separate gem
  # so we use it only when it's available.
  if defined?(Faraday::Request::Retry)
    retry_exceptions = Faraday::Request::Retry::DEFAULT_EXCEPTIONS + [Octokit::ServerError]
    builder.use Faraday::Request::Retry, exceptions: retry_exceptions
  elsif defined?(Faraday::Retry::Middleware)
    retry_exceptions = Faraday::Retry::Middleware::DEFAULT_EXCEPTIONS + [Octokit::ServerError]
    builder.use Faraday::Retry::Middleware, exceptions: retry_exceptions
  end

  builder.use Octokit::Middleware::FollowRedirects
  builder.use Octokit::Response::RaiseError
  builder.use Octokit::Response::FeedParser
  builder.adapter Faraday.default_adapter
end

Class Method Summary collapse

Class Method Details

.access_tokenString

Default access token from ENV

Returns:

  • (String)


59
60
61
# File 'lib/octokit/default.rb', line 59

def access_token
  ENV.fetch('OCTOKIT_ACCESS_TOKEN', nil)
end

.api_endpointString

Default API endpoint from ENV or API_ENDPOINT

Returns:

  • (String)


65
66
67
# File 'lib/octokit/default.rb', line 65

def api_endpoint
  ENV.fetch('OCTOKIT_API_ENDPOINT') { API_ENDPOINT }
end

.auto_paginateString

Default pagination preference from ENV

Returns:

  • (String)


71
72
73
# File 'lib/octokit/default.rb', line 71

def auto_paginate
  ENV.fetch('OCTOKIT_AUTO_PAGINATE', nil)
end

.bearer_tokenString

Default bearer token from ENV

Returns:

  • (String)


77
78
79
# File 'lib/octokit/default.rb', line 77

def bearer_token
  ENV.fetch('OCTOKIT_BEARER_TOKEN', nil)
end

.client_idString

Default OAuth app key from ENV

Returns:

  • (String)


83
84
85
# File 'lib/octokit/default.rb', line 83

def client_id
  ENV.fetch('OCTOKIT_CLIENT_ID', nil)
end

.client_secretString

Default OAuth app secret from ENV

Returns:

  • (String)


89
90
91
# File 'lib/octokit/default.rb', line 89

def client_secret
  ENV.fetch('OCTOKIT_SECRET', nil)
end

.connection_optionsHash

Default options for Faraday::Connection

Returns:

  • (Hash)


107
108
109
110
111
112
113
114
# File 'lib/octokit/default.rb', line 107

def connection_options
  {
    headers: {
      accept: default_media_type,
      user_agent: user_agent
    }
  }
end

.default_media_typeString

Default media type from ENV or MEDIA_TYPE

Returns:

  • (String)


118
119
120
# File 'lib/octokit/default.rb', line 118

def default_media_type
  ENV.fetch('OCTOKIT_DEFAULT_MEDIA_TYPE') { MEDIA_TYPE }
end

.loginString

Default GitHub username for Basic Auth from ENV

Returns:

  • (String)


124
125
126
# File 'lib/octokit/default.rb', line 124

def 
  ENV.fetch('OCTOKIT_LOGIN', nil)
end

.management_console_endpointString

Default management console endpoint from ENV

Returns:

  • (String)


101
102
103
# File 'lib/octokit/default.rb', line 101

def management_console_endpoint
  ENV.fetch('OCTOKIT_ENTERPRISE_MANAGEMENT_CONSOLE_ENDPOINT', nil)
end

.management_console_passwordString

Default management console password from ENV

Returns:

  • (String)


95
96
97
# File 'lib/octokit/default.rb', line 95

def management_console_password
  ENV.fetch('OCTOKIT_ENTERPRISE_MANAGEMENT_CONSOLE_PASSWORD', nil)
end

.middlewareFaraday::RackBuilder or Faraday::Builder

Default middleware stack for Faraday::Connection from MIDDLEWARE

Returns:

  • (Faraday::RackBuilder or Faraday::Builder)


131
132
133
# File 'lib/octokit/default.rb', line 131

def middleware
  MIDDLEWARE
end

.netrcBoolean

Default behavior for reading .netrc file

Returns:

  • (Boolean)


178
179
180
# File 'lib/octokit/default.rb', line 178

def netrc
  ENV.fetch('OCTOKIT_NETRC', false)
end

.netrc_fileString

Default path for .netrc file

Returns:

  • (String)


184
185
186
# File 'lib/octokit/default.rb', line 184

def netrc_file
  ENV.fetch('OCTOKIT_NETRC_FILE') { File.join(Dir.home.to_s, '.netrc') }
end

.optionsHash

Configuration options

Returns:

  • (Hash)


53
54
55
# File 'lib/octokit/default.rb', line 53

def options
  Octokit::Configurable.keys.to_h { |key| [key, send(key)] }
end

.passwordString

Default GitHub password for Basic Auth from ENV

Returns:

  • (String)


137
138
139
# File 'lib/octokit/default.rb', line 137

def password
  ENV.fetch('OCTOKIT_PASSWORD', nil)
end

.per_pageInteger

Default pagination page size from ENV

Returns:

  • (Integer)

    Page size



143
144
145
146
147
# File 'lib/octokit/default.rb', line 143

def per_page
  page_size = ENV.fetch('OCTOKIT_PER_PAGE', nil)

  page_size&.to_i
end

.proxyString

Default proxy server URI for Faraday connection from ENV

Returns:

  • (String)


151
152
153
# File 'lib/octokit/default.rb', line 151

def proxy
  ENV.fetch('OCTOKIT_PROXY', nil)
end

.ssl_verify_modeInteger

Default SSL verify mode from ENV

Returns:

  • (Integer)


157
158
159
160
161
162
# File 'lib/octokit/default.rb', line 157

def ssl_verify_mode
  # 0 is OpenSSL::SSL::VERIFY_NONE
  # 1 is OpenSSL::SSL::SSL_VERIFY_PEER
  # the standard default for SSL is SSL_VERIFY_PEER which requires a server certificate check on the client
  ENV.fetch('OCTOKIT_SSL_VERIFY_MODE', 1).to_i
end

.user_agentString

Default User-Agent header string from ENV or USER_AGENT

Returns:

  • (String)


166
167
168
# File 'lib/octokit/default.rb', line 166

def user_agent
  ENV.fetch('OCTOKIT_USER_AGENT') { USER_AGENT }
end

.web_endpointString

Default web endpoint from ENV or WEB_ENDPOINT

Returns:

  • (String)


172
173
174
# File 'lib/octokit/default.rb', line 172

def web_endpoint
  ENV.fetch('OCTOKIT_WEB_ENDPOINT') { WEB_ENDPOINT }
end