denoland/deno · error
empty response from {url}
Error message
empty response from {url} What it means
Error "empty response from {url}" thrown in denoland/deno.
Source
Thrown at cli/tools/desktop.rs:1960
let url = Url::parse(&laufey_release_url(&archive))?;
let progress_bar = ProgressBar::new(ProgressBarStyle::DownloadBars);
let progress = progress_bar.update(&archive);
// Send a real User-Agent — some CDNs (incl. parts of GitHub
// releases) start rate-limiting empty UAs aggressively.
let mut headers = http::HeaderMap::new();
if let Ok(ua) = http::HeaderValue::from_str(&format!(
"deno-desktop/{} (+https://deno.com)",
env!("CARGO_PKG_VERSION")
)) {
headers.insert(http::header::USER_AGENT, ua);
}
let response = client
.download_with_progress_and_retries(url.clone(), &headers, &progress)
.await
.with_context(|| format!("failed to download {url}"))?;
let data = response
.into_maybe_bytes()?
.ok_or_else(|| deno_core::anyhow::anyhow!("empty response from {url}"))?;
let actual =
faster_hex::hex_string(&sha2::Sha256::digest(&data)).to_lowercase();
let expected_lc = expected.to_lowercase();
if actual != expected_lc {
// Include the URL in the bail: an attacker who poisoned a redirect
// would otherwise be invisible in the failure log.
bail!(
"checksum mismatch for {archive} (downloaded from {url})\n expected: {expected_lc}\n actual: {actual}"
);
}
let parent = dir.parent().ok_or_else(|| {
deno_core::anyhow::anyhow!(
"LAUFEY cache dir has no parent: {}",
dir.display()
)
})?;View on GitHub (pinned to 89f33cbef2)
When it happens
Trigger: Thrown at cli/tools/desktop.rs:1960 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of denoland/deno@89f33cbef2 (2026-08-16).
Data as JSON: /api/errors/367c21b4890e6abb.
Report an issue: GitHub.