{"record":{"id":"fb80a7d76083188e","repo":"cube-js/cube","slug":"reading-the-response-from-url-failed-e","errorCode":null,"errorMessage":"reading the response from {url} failed: {e}","messagePattern":"reading the response from (.+?) failed: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"rust/cube-cli/src/client.rs","lineNumber":386,"sourceCode":"        F: Fn() -> reqwest::multipart::Form,\n    {\n        let url = format!(\"{}{}\", self.base_url, path);\n        let send = |form: reqwest::multipart::Form, token: String| {\n            let http = &self.http;\n            let url = &url;\n            async move {\n                let res = http\n                    .post(url)\n                    .header(reqwest::header::AUTHORIZATION, Self::authorization(&token))\n                    .multipart(form)\n                    .send()\n                    .await\n                    .map_err(|e| anyhow!(\"request to {url} failed: {e}\"))?;\n                let status = res.status();\n                let text = res\n                    .text()\n                    .await\n                    .map_err(|e| anyhow!(\"reading the response from {url} failed: {e}\"))?;\n                Ok::<_, anyhow::Error>((status, text))\n            }\n        };\n\n        let (mut status, mut text) = send(build_form(), self.token()).await?;\n        if status == StatusCode::UNAUTHORIZED && self.try_refresh().await? {\n            let (s, t) = send(build_form(), self.token()).await?;\n            status = s;\n            text = t;\n        }\n        self.finish_response(&Method::POST, path, status, text)\n    }\n\n    /// Shared tail of every request: error mapping + JSON/HTML handling.\n    fn finish_response(\n        &self,\n        method: &Method,\n        path: &str,","sourceCodeStart":368,"sourceCodeEnd":404,"githubUrl":"https://github.com/cube-js/cube/blob/7d981676b36392fec34088b9afab6bdcad40207c/rust/cube-cli/src/client.rs#L368-L404","documentation":"The multipart POST reached the server but reading the response body stream failed (connection dropped mid-response, decode error). This TransportError means the request's outcome is unknown — the server may or may not have processed the multipart upload.","triggerScenarios":"Thrown at rust/cube-cli/src/client.rs:386 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Retry the request, but check for side effects first since the operation may have already been applied","Investigate unstable connections, proxies, or load balancer idle timeouts between the CLI and the server"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"7d981676b36392fec34088b9afab6bdcad40207c","analyzedAt":"2026-09-02T03:45:10.400Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T15:18:49.778Z"}