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)


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

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

.api_endpointString

Default API endpoint from ENV or API_ENDPOINT

Returns:

  • (String)


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

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

.auto_paginateString

Default pagination preference from ENV

Returns:

  • (String)


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

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

.bearer_tokenString

Default bearer token from ENV

Returns:

  • (String)


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

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

.client_idString

Default OAuth app key from ENV

Returns:

  • (String)


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

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

.client_secretString

Default OAuth app secret from ENV

Returns:

  • (String)


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

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

.connection_optionsHash

Default options for Faraday::Connection

Returns:

  • (Hash)


130
131
132
133
134
135
136
137
# File 'lib/octokit/default.rb', line 130

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)


141
142
143
# File 'lib/octokit/default.rb', line 141

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

.loginString

Default GitHub username for Basic Auth from ENV

Returns:

  • (String)


147
148
149
# File 'lib/octokit/default.rb', line 147

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

.manage_ghes_endpointString

Default GHES Manage API endpoint from ENV

Returns:

  • (String)


112
113
114
# File 'lib/octokit/default.rb', line 112

def manage_ghes_endpoint
  ENV.fetch('OCTOKIT_MANAGE_GHES_ENDPOINT', nil)
end

.manage_ghes_passwordString

Default GHES Manage API password from ENV

Returns:

  • (String)


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

def manage_ghes_password
  ENV.fetch('OCTOKIT_MANAGE_GHES_PASSWORD', nil)
end

.manage_ghes_usernameString

Default GHES Manage API username from ENV

Returns:

  • (String)


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

def manage_ghes_username
  ENV.fetch('OCTOKIT_MANAGE_GHES_USERNAME', nil)
end

.management_console_endpointString

Default management console endpoint from ENV

Returns:

  • (String)


106
107
108
# File 'lib/octokit/default.rb', line 106

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

.management_console_passwordString

Default management console password from ENV

Returns:

  • (String)


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

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)


154
155
156
# File 'lib/octokit/default.rb', line 154

def middleware
  MIDDLEWARE
end

.netrcBoolean

Default behavior for reading .netrc file

Returns:

  • (Boolean)


201
202
203
# File 'lib/octokit/default.rb', line 201

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

.netrc_fileString

Default path for .netrc file

Returns:

  • (String)


207
208
209
# File 'lib/octokit/default.rb', line 207

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

.optionsHash

Configuration options

Returns:

  • (Hash)


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

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

.passwordString

Default GitHub password for Basic Auth from ENV

Returns:

  • (String)


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

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

.per_pageInteger

Default pagination page size from ENV

Returns:

  • (Integer)

    Page size



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

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)


174
175
176
# File 'lib/octokit/default.rb', line 174

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

.ssl_verify_modeInteger

Default SSL verify mode from ENV

Returns:

  • (Integer)


180
181
182
183
184
185
# File 'lib/octokit/default.rb', line 180

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)


189
190
191
# File 'lib/octokit/default.rb', line 189

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

.web_endpointString

Default web endpoint from ENV or WEB_ENDPOINT

Returns:

  • (String)


195
196
197
# File 'lib/octokit/default.rb', line 195

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