{"record":{"id":"9b712fc5f6a06859","repo":"router-for-me/CLIProxyAPI","slug":"failed-to-decode-codex-live-call-request-w","errorCode":null,"errorMessage":"failed to decode Codex live call request: %w","messagePattern":"failed to decode Codex live call request: %w","errorType":"http","errorClass":null,"httpStatus":400,"severity":"error","filePath":"internal/client/codex/live/live.go","lineNumber":702,"sourceCode":"\treturn encoded, nil\n}\n\nfunc callRequestSDP(body []byte, contentType string) (string, error) {\n\tmediaType, _, errMediaType := mime.ParseMediaType(contentType)\n\tif errMediaType == nil && (strings.EqualFold(mediaType, \"application/sdp\") || strings.EqualFold(mediaType, \"text/plain\")) {\n\t\tif strings.TrimSpace(string(body)) == \"\" {\n\t\t\treturn \"\", errors.New(\"Codex live call request requires an SDP offer\")\n\t\t}\n\t\treturn string(body), nil\n\t}\n\tif errMediaType != nil || !strings.EqualFold(mediaType, \"application/json\") {\n\t\treturn \"\", errors.New(\"Codex live media relay requires an SDP or JSON call request\")\n\t}\n\tvar payload struct {\n\t\tSDP string `json:\"sdp\"`\n\t}\n\tif errUnmarshal := json.Unmarshal(body, &payload); errUnmarshal != nil {\n\t\treturn \"\", fmt.Errorf(\"failed to decode Codex live call request: %w\", errUnmarshal)\n\t}\n\tif strings.TrimSpace(payload.SDP) == \"\" {\n\t\treturn \"\", errors.New(\"Codex live call request requires an SDP offer\")\n\t}\n\treturn payload.SDP, nil\n}\n\nfunc replaceCallRequestSDP(body []byte, contentType, sdp string) ([]byte, string, error) {\n\tmediaType, _, errMediaType := mime.ParseMediaType(contentType)\n\tif errMediaType == nil && (strings.EqualFold(mediaType, \"application/sdp\") || strings.EqualFold(mediaType, \"text/plain\")) {\n\t\tencoded, errEncode := encodeCallRequest(sdp, nil)\n\t\tif errEncode != nil {\n\t\t\treturn nil, \"\", errEncode\n\t\t}\n\t\treturn encoded, \"application/json\", nil\n\t}\n\tif errMediaType != nil || !strings.EqualFold(mediaType, \"application/json\") {\n\t\treturn nil, \"\", errors.New(\"Codex live media relay requires an SDP or JSON call request\")","sourceCodeStart":684,"sourceCodeEnd":720,"githubUrl":"https://github.com/router-for-me/CLIProxyAPI/blob/78f0c4079e3e6273d65d03b5549cffc898703264/internal/client/codex/live/live.go#L684-L720","documentation":"Error \"failed to decode Codex live call request: %w\" thrown in router-for-me/CLIProxyAPI.","triggerScenarios":"Thrown at internal/client/codex/live/live.go:702 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Send a valid JSON Codex live call request.","Fix the JSON syntax error reported by the wrapped decode error."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"78f0c4079e3e6273d65d03b5549cffc898703264","analyzedAt":"2026-08-15T12:26:37.444Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}