class Dependabot::Uv::Package::PackageDetailsFetcher
def fetch_from_json_registry(index_url)
def fetch_from_json_registry(index_url) json_url = index_url.sub(%r{/simple/?$}i, "/pypi/") Dependabot.logger.info( "Fetching release information from json registry at #{sanitized_url(json_url)} for #{dependency.name}" ) response = registry_json_response_for_dependency(json_url) return nil unless response.status == 200 begin data = JSON.parse(response.body) version_releases = data["releases"] releases = format_version_releases(version_releases) releases.sort_by(&:version).reverse rescue JSON::ParserError Dependabot.logger.warn("JSON parsing error for #{json_url}. Falling back to HTML.") nil rescue StandardError => e Dependabot.logger.warn("Unexpected error while fetching JSON data: #{e.message}.") nil end end