Use a custom root endpoint if defined on GH ominiauth provider settings
This commit is contained in:
parent
81995317f9
commit
51186e72c5
2 changed files with 17 additions and 2 deletions
|
@ -48,9 +48,9 @@ module Github
|
||||||
@project = project
|
@project = project
|
||||||
@repository = project.repository
|
@repository = project.repository
|
||||||
@repo = project.import_source
|
@repo = project.import_source
|
||||||
@options = options
|
|
||||||
@repo_url = project.import_url
|
@repo_url = project.import_url
|
||||||
@wiki_url = project.import_url.sub(/\.git\z/, '.wiki.git')
|
@wiki_url = project.import_url.sub(/\.git\z/, '.wiki.git')
|
||||||
|
@options = options.reverse_merge(url: root_endpoint)
|
||||||
@verbose = options.fetch(:verbose, false)
|
@verbose = options.fetch(:verbose, false)
|
||||||
@cached = Hash.new { |hash, key| hash[key] = Hash.new }
|
@cached = Hash.new { |hash, key| hash[key] = Hash.new }
|
||||||
@errors = []
|
@errors = []
|
||||||
|
@ -383,5 +383,20 @@ module Github
|
||||||
def error(type, url, message)
|
def error(type, url, message)
|
||||||
errors << { type: type, url: Gitlab::UrlSanitizer.sanitize(url), error: message }
|
errors << { type: type, url: Gitlab::UrlSanitizer.sanitize(url), error: message }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def root_endpoint
|
||||||
|
@root_endpoint ||= custom_endpoint || githup_endpoint
|
||||||
|
end
|
||||||
|
|
||||||
|
def custom_endpoint
|
||||||
|
Gitlab.config.omniauth.providers
|
||||||
|
.find { |provider| provider.name == 'github' }
|
||||||
|
.to_h
|
||||||
|
.dig('args', 'client_options', 'site')
|
||||||
|
end
|
||||||
|
|
||||||
|
def github_endpoint
|
||||||
|
OmniAuth::Strategies::GitHub.default_options[:client_options][:site]
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -7,7 +7,7 @@ class GithubImport
|
||||||
end
|
end
|
||||||
|
|
||||||
def initialize(token, gitlab_username, project_path, extras)
|
def initialize(token, gitlab_username, project_path, extras)
|
||||||
@options = { url: 'https://api.github.com', token: token, verbose: true }
|
@options = { token: token, verbose: true }
|
||||||
@project_path = project_path
|
@project_path = project_path
|
||||||
@current_user = User.find_by_username(gitlab_username)
|
@current_user = User.find_by_username(gitlab_username)
|
||||||
@github_repo = extras.empty? ? nil : extras.first
|
@github_repo = extras.empty? ? nil : extras.first
|
||||||
|
|
Loading…
Reference in a new issue