{"record":{"id":"e64fd110ee8f8685","repo":"tinyhumansai/openhuman","slug":"failed-to-read-response-body-for-get-url-error","errorCode":null,"errorMessage":"failed to read response body for GET {url}: {error}","messagePattern":"failed to read response body for GET (.+?): (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/openhuman/integrations/client.rs","lineNumber":633,"sourceCode":"                    body,\n                },\n                \"get_bytes\",\n                path,\n                &url,\n            ));\n        }\n        let content_type = resp\n            .headers()\n            .get(reqwest::header::CONTENT_TYPE)\n            .and_then(|value| value.to_str().ok())\n            .map(str::to_owned);\n        let filename = resp\n            .headers()\n            .get(reqwest::header::CONTENT_DISPOSITION)\n            .and_then(|value| value.to_str().ok())\n            .and_then(parse_content_disposition_filename);\n        let body = resp.bytes().await.map_err(|error| {\n            anyhow::anyhow!(\"failed to read response body for GET {url}: {error}\")\n        })?;\n        tracing::debug!(\n            \"[integrations] GET(bytes) {} → {} bytes (content_type={:?})\",\n            url,\n            body.len(),\n            content_type\n        );\n        Ok((body, content_type, filename))\n    }\n\n    /// Fetch and cache pricing info from the backend. Returns a default\n    /// (empty) pricing struct on network errors so tool registration never fails.\n    pub async fn pricing(&self) -> &IntegrationPricing {\n        self.pricing\n            .get_or_init(|| async {\n                match self\n                    .get::<IntegrationPricing>(\"/agent-integrations/pricing\")\n                    .await","sourceCodeStart":615,"sourceCodeEnd":651,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/src/openhuman/integrations/client.rs#L615-L651","documentation":"Raised in get_bytes when the response headers were read fine but streaming the body failed (connection reset mid-transfer, timeout). Only the body read fails; the status and content-type were already captured.","triggerScenarios":"Thrown at src/openhuman/integrations/client.rs:633 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Retry the download — mid-transfer resets are transient","Check network stability for large files","Verify any proxy in front of the backend is not cutting long responses"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"749120085864ce16e0f273c7b86fac7740b39c5b","analyzedAt":"2026-08-17T21:21:45.363Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}