2021-04-29 18:35:57 +08:00
|
|
|
module Acceleratorable
|
|
|
|
|
extend ActiveSupport::Concern
|
|
|
|
|
|
|
|
|
|
def enable_accelerator?(clone_addr)
|
2021-05-17 17:14:55 +08:00
|
|
|
is_foreign_url?(clone_addr) && config_accelerator?
|
2021-04-29 18:35:57 +08:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def accelerator_url(repo_name)
|
|
|
|
|
[accelerator_domain, accelerator_username, "#{repo_name}.git"].join('/')
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def github_domain
|
|
|
|
|
'github.com'
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def gitlab_domain
|
|
|
|
|
'gitlab.com'
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def accelerator_domain
|
2022-06-23 11:33:11 +08:00
|
|
|
GiteaService.gitea_config[:accelerator]["domain"]
|
2021-04-29 18:35:57 +08:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def accelerator_username
|
2022-06-23 11:33:11 +08:00
|
|
|
GiteaService.gitea_config[:accelerator]["access_key_id"]
|
2021-04-29 18:35:57 +08:00
|
|
|
end
|
|
|
|
|
|
2021-05-17 17:14:55 +08:00
|
|
|
def config_accelerator?
|
2022-06-23 11:33:11 +08:00
|
|
|
GiteaService.gitea_config[:accelerator].present?
|
2021-05-17 17:14:55 +08:00
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def is_foreign_url?(clone_addr)
|
|
|
|
|
clone_addr.include?(github_domain) || clone_addr.include?(gitlab_domain)
|
|
|
|
|
end
|
|
|
|
|
|
2021-04-29 18:35:57 +08:00
|
|
|
end
|