Zackriya-Solutions/meetily · error
Partial response is missing Content-Range
Error message
Partial response is missing Content-Range
What it means
Thrown by `validate_partial_response` when a 206 response carries no `Content-Range` header. RFC 7233 requires 206 responses to include Content-Range; without it the downloader cannot verify which byte span was returned, so it fails rather than silently trusting the body.
Source
Thrown at frontend/src-tauri/src/parakeet_engine/parakeet_engine.rs:759
}
Ok(())
}
fn validate_partial_response(
response: &reqwest::Response,
expected_start: u64,
exact_bytes: u64,
) -> Result<()> {
if response.status() != reqwest::StatusCode::PARTIAL_CONTENT {
return Err(anyhow!(
"Expected partial 206 response, received {}",
response.status()
));
}
let content_range = response
.headers()
.get(reqwest::header::CONTENT_RANGE)
.ok_or_else(|| anyhow!("Partial response is missing Content-Range"))?;
let ContentRange::Range { start, end, total } = parse_content_range(content_range)? else {
return Err(anyhow!("Partial response has an unsatisfied Content-Range"));
};
if start != expected_start || end != exact_bytes - 1 || total != exact_bytes {
return Err(anyhow!(
"Partial response range {}-{} / {} does not match {}-{} / {}",
start,
end,
total,
expected_start,
exact_bytes - 1,
exact_bytes
));
}
let expected_length = end
.checked_sub(start)
.and_then(|length| length.checked_add(1))
.ok_or_else(|| anyhow!("Partial response range length overflow"))?;View on GitHub (pinned to a2cb62e827)
Solutions
- Use a standards-compliant server/mirror for the model download.
- Fall back to a full (non-range) download from byte 0.
- Check whether a proxy or CDN is stripping the Content-Range header and bypass it.
Defensive patterns
Strategy: fallback
Validate before calling
let probe = client.get(url).header("Range", "bytes=0-0").send().await?;
if probe.status() == reqwest::StatusCode::PARTIAL_CONTENT && probe.headers().get("content-range").is_none() {
eprintln!("server returns 206 without Content-Range; avoid resuming here");
} Try / catch
match result {
Err(e) if e.to_string().contains("missing Content-Range") => fall_back_to_full_download(),
other => other,
} Prevention
- Use standards-compliant HTTP servers/CDNs for model hosting.
- Check that proxies don't strip Content-Range.
- Resume only from mirrors that passed a range-support probe.
When it happens
Trigger: Server replies 206 Partial Content to a Range request for the Parakeet model but omits the Content-Range header.
Common situations: Non-compliant custom mirror or lightweight HTTP server emitting 206 without the header; proxy stripping the Content-Range header from responses.
Related errors
- Partial response has an unsatisfied Content-Range
- Partial response declared {} bytes, expected {}
- {}: {}
- Invalid Content-Length header encoding: {}
- Invalid Content-Length header: {}
AI-assisted analysis of Zackriya-Solutions/meetily@a2cb62e827 (2026-09-12).
Data as JSON: /api/errors/5e4f6d24f7deecfa.
Report an issue: GitHub.