{"record":{"id":"3d0e4fcd456ab029","repo":"BigPizzaV3/CodexPlusPlus","slug":"dreamskin-http","errorCode":null,"errorMessage":"DreamSkin 服务返回 HTTP {}","messagePattern":"DreamSkin 服务返回 HTTP (.+?)","errorType":"http","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"crates/codex-plus-core/src/dream_skin_community.rs","lineNumber":400,"sourceCode":"        .connect_timeout(Duration::from_secs(8))\n        .timeout(timeout)\n        .build()?)\n}\n\nasync fn download_limited(\n    client: &reqwest::Client,\n    url: &str,\n    limit: usize,\n    expected_content_type: &str,\n) -> anyhow::Result<Vec<u8>> {\n    let response = client\n        .get(url)\n        .header(reqwest::header::ACCEPT, expected_content_type)\n        .send()\n        .await\n        .with_context(|| format!(\"请求失败：{url}\"))?;\n    if !response.status().is_success() {\n        bail!(\"DreamSkin 服务返回 HTTP {}\", response.status());\n    }\n    let content_type = response\n        .headers()\n        .get(reqwest::header::CONTENT_TYPE)\n        .and_then(|value| value.to_str().ok())\n        .and_then(|value| value.split(';').next())\n        .map(str::trim)\n        .unwrap_or_default();\n    if content_type != expected_content_type {\n        bail!(\"DreamSkin 服务返回了不支持的内容类型：{content_type}\");\n    }\n    if response\n        .content_length()\n        .is_some_and(|length| length == 0 || length > limit as u64)\n    {\n        bail!(\"DreamSkin 响应超过大小限制\");\n    }\n    let mut bytes = Vec::new();","sourceCodeStart":382,"sourceCodeEnd":418,"githubUrl":"https://github.com/BigPizzaV3/CodexPlusPlus/blob/f2074595a281bc057525c748175c8eb9805b0673/crates/codex-plus-core/src/dream_skin_community.rs#L382-L418","documentation":"Raised in download_limited: the DreamSkin community service replied with a non-2xx HTTP status for a catalog/package download, so the response body is discarded and the status code is reported. Indicates a server-side or network-level failure, not a payload problem.","triggerScenarios":"Thrown at crates/codex-plus-core/src/dream_skin_community.rs:400 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Retry the download; check the DreamSkin service status","Verify the request URL is the current official endpoint","Check local network/proxy if 5xx persists"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"f2074595a281bc057525c748175c8eb9805b0673","analyzedAt":"2026-08-23T12:52:24.489Z","contentChangedAt":"2026-08-23T12:52:24.489Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}