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