Класс: CurlGitHubPackagesDownloadStrategy
- Наследует:
- CurlDownloadStrategy
- Object
- AbstractDownloadStrategy
- AbstractFileDownloadStrategy
- CurlDownloadStrategy
- CurlGitHubPackagesDownloadStrategy
- Определено в:
- download_strategy/curl_github_packages_download_strategy.rb
Обзор
Стратегия загрузки файла по URL-адресу GitHub Packages.
Краткое описание констант
Константы, унаследованные от CurlDownloadStrategy
CurlDownloadStrategy::URLMetadata
Краткое описание атрибутов экземпляра свернуть
- #resolved_basename ⇒ String? только для записи закрытый
Атрибуты, унаследованные от CurlDownloadStrategy
Атрибуты, унаследованные от AbstractDownloadStrategy
Краткое описание методов экземпляра свернуть
- #bottle_blob_sha256 ⇒ String? закрытый
- #cached_location ⇒ Pathname закрытый
- #immutable_bottle_blob? ⇒ Boolean закрытый
- #initialize(url, name, version, **meta) ⇒ void конструктор закрытый
Методы, унаследованные от CurlDownloadStrategy
#clear_cache, #fetch, #resolved_time_file_size, #total_size
Методы, включённые из Utils::Curl
clear_path_cache, curl, curl_args, curl_check_http_content, curl_download, curl_executable, curl_headers, curl_http_content_headers_and_checksum, curl_output, curl_path, curl_response_follow_redirections, curl_response_last_location, curl_supports_fail_with_body?, curl_supports_tls13?, curl_version, curl_with_workarounds, http_status_ok?, insecure_redirect?, no_insecure_redirect_curl_args, parse_curl_output, parse_curl_response, url_protected_by_cloudflare?, url_protected_by_incapsula?
Методы, включённые из SystemCommand::Mixin
#system_command, #system_command!
Методы, включённые из Utils::Output::Mixin
#issue_reporting_message, #odebug, #odeprecated, #odie, #odisabled, #ofail, #oh1, #oh1_title, #ohai, #ohai_title, #onoe, #opoo, #opoo_outside_github_actions, #opoo_without_github_actions_annotation, #pretty_deprecated, #pretty_disabled, #pretty_duration, #pretty_install_status, #pretty_installed, #pretty_uninstalled, #pretty_upgradable, #pretty_warning
Методы, унаследованные от AbstractFileDownloadStrategy
#basename, #create_symlink_to_cached_download, #fetched_size, #symlink_location, #temporary_path
Методы, унаследованные от AbstractDownloadStrategy
#basename, #clear_cache, #fetch, #fetched_size, #ohai, #quiet!, #quiet?, #source_modified_time, #source_revision, #stage, #total_size
Методы, включённые из Context
current, current=, #debug?, #quiet?, #verbose?, #with_context
Подробное описание конструкторов
#initialize(url, name, version, **meta) ⇒ void
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам не следует использовать этот метод, поскольку он может быть удалён или изменён без предупреждения.
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | # File 'download_strategy/curl_github_packages_download_strategy.rb', line 12 def initialize(url, name, version, **) [:headers] ||= [] # GitHub Packages authorization header. # HOMEBREW_GITHUB_PACKAGES_AUTH set in brew.sh # If using a private GHCR mirror with no Authentication set or HOMEBREW_GITHUB_PACKAGES_AUTH is empty # then do not add the header. In all other cases add it. if HOMEBREW_GITHUB_PACKAGES_AUTH.presence && ( !Homebrew::EnvConfig.artifact_domain.presence || Homebrew::EnvConfig.docker_registry_basic_auth_token.presence || Homebrew::EnvConfig.docker_registry_token.presence ) [:headers] << "Authorization: #{HOMEBREW_GITHUB_PACKAGES_AUTH}" end super end |
Подробное описание атрибутов экземпляра
#resolved_basename=(value) ⇒ String? (только для записи)
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам не следует использовать этот метод, поскольку он может быть удалён или изменён без предупреждения.
9 10 11 | # File 'download_strategy/curl_github_packages_download_strategy.rb', line 9 def resolved_basename=(value) @resolved_basename = value end |
Подробное описание методов экземпляра
#bottle_blob_sha256 ⇒ String?
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам не следует использовать этот метод, поскольку он может быть удалён или изменён без предупреждения.
48 49 50 | # File 'download_strategy/curl_github_packages_download_strategy.rb', line 48 def bottle_blob_sha256 url[%r{/blobs/sha256:([0-9a-f]{64})(?:[?#]|$)}i, 1]&.downcase end |
#cached_location ⇒ Pathname
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам не следует использовать этот метод, поскольку он может быть удалён или изменён без предупреждения.
29 30 31 32 33 34 35 36 | # File 'download_strategy/curl_github_packages_download_strategy.rb', line 29 def cached_location return super unless immutable_bottle_blob? cached_location = @cached_location return cached_location unless cached_location.nil? @cached_location = HOMEBREW_CACHE/"downloads/#{Digest::SHA256.hexdigest(url)}--#{Utils.safe_filename(@resolved_basename.to_s)}" end |
#immutable_bottle_blob? ⇒ Boolean
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам не следует использовать этот метод, поскольку он может быть удалён или изменён без предупреждения.
39 40 41 42 43 44 45 | # File 'download_strategy/curl_github_packages_download_strategy.rb', line 39 def immutable_bottle_blob? return false if [:bottle] != true return false unless mirrors.empty? return false if @resolved_basename.blank? !bottle_blob_sha256.nil? end |
© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/CurlGitHubPackagesDownloadStrategy.html