BigPizzaV3/CodexPlusPlus · error · anyhow::Error

DreamSkin 服务返回空响应

Error message

DreamSkin 服务返回空响应

What it means

Raised in download_limited: the DreamSkin service returned HTTP success but a zero-byte body, so there is no catalog/package content to process. Indicates an empty upstream response or truncated transfer.

Source

Thrown at crates/codex-plus-core/src/dream_skin_community.rs:428

        bail!("DreamSkin 服务返回了不支持的内容类型:{content_type}");
    }
    if response
        .content_length()
        .is_some_and(|length| length == 0 || length > limit as u64)
    {
        bail!("DreamSkin 响应超过大小限制");
    }
    let mut bytes = Vec::new();
    let mut stream = response.bytes_stream();
    while let Some(chunk) = stream.next().await {
        let chunk = chunk?;
        if bytes.len().saturating_add(chunk.len()) > limit {
            bail!("DreamSkin 响应超过大小限制");
        }
        bytes.extend_from_slice(&chunk);
    }
    if bytes.is_empty() {
        bail!("DreamSkin 服务返回空响应");
    }
    Ok(bytes)
}

#[cfg(test)]
mod tests {
    use super::version_id_from_link;

    #[test]
    fn community_link_accepts_only_canonical_version_id() {
        assert_eq!(
            version_id_from_link("dreamskin://apply?version=ver_1234abcd").unwrap(),
            "ver_1234abcd"
        );
        assert_eq!(
            version_id_from_link("dreamskin://apply/?version=ver_1234abcd").unwrap(),
            "ver_1234abcd"
        );

View on GitHub (pinned to f2074595a2)

Solutions

  1. Retry the fetch; a transient server issue is likely
  2. Check the service endpoint is still publishing content
  3. Inspect network logs for truncated transfers
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at crates/codex-plus-core/src/dream_skin_community.rs:428 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of BigPizzaV3/CodexPlusPlus@f2074595a2 (2026-08-23). Data as JSON: /api/errors/693a4ddfe4d3f40b. Report an issue: GitHub.