{"record":{"id":"c4cc6b2f2aba84b7","repo":"JuliusBrussee/caveman","slug":"cachebench-openai-api-key-unavailable","errorCode":null,"errorMessage":"cachebench: OpenAI API key unavailable","messagePattern":"cachebench: OpenAI API key unavailable","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cacheengine/cachebench/replay_http.go","lineNumber":222,"sourceCode":"\t}\n\tresolved := *base\n\tif rawPath == \"\" {\n\t\tresolved.Path = strings.TrimRight(base.Path, \"/\") + path\n\t\tresolved.RawPath = \"\"\n\t} else {\n\t\tresolved.RawPath = strings.TrimRight(base.EscapedPath(), \"/\") + rawPath\n\t\tresolved.Path, _ = url.PathUnescape(resolved.RawPath)\n\t}\n\tresolved.RawQuery = \"\"\n\tresolved.Fragment = \"\"\n\treturn &resolved, nil\n}\n\nfunc (transport *HTTPReplayTransport) authorize(provider, region string, request *http.Request, body []byte) error {\n\tswitch provider {\n\tcase \"openai\":\n\t\tif !validReplaySecret(transport.credentials.OpenAIAPIKey) {\n\t\t\treturn errors.New(\"cachebench: OpenAI API key unavailable\")\n\t\t}\n\t\trequest.Header.Set(\"authorization\", \"Bearer \"+transport.credentials.OpenAIAPIKey)\n\tcase \"anthropic\":\n\t\tif !validReplaySecret(transport.credentials.AnthropicAPIKey) {\n\t\t\treturn errors.New(\"cachebench: Anthropic API key unavailable\")\n\t\t}\n\t\trequest.Header.Set(\"x-api-key\", transport.credentials.AnthropicAPIKey)\n\t\trequest.Header.Set(\"anthropic-version\", \"2023-06-01\")\n\tcase \"gemini\":\n\t\tif !validReplaySecret(transport.credentials.GeminiAPIKey) {\n\t\t\treturn errors.New(\"cachebench: Gemini API key unavailable\")\n\t\t}\n\t\trequest.Header.Set(\"x-goog-api-key\", transport.credentials.GeminiAPIKey)\n\tcase \"bedrock\":\n\t\tif validReplaySecret(transport.credentials.BedrockAPIKey) {\n\t\t\trequest.Header.Set(\"authorization\", \"Bearer \"+transport.credentials.BedrockAPIKey)\n\t\t\treturn nil\n\t\t}","sourceCodeStart":204,"sourceCodeEnd":240,"githubUrl":"https://github.com/JuliusBrussee/caveman/blob/27d5a3981a347890211bb1bf2439e5c821a63bc9/cacheengine/cachebench/replay_http.go#L204-L240","documentation":"Error \"cachebench: OpenAI API key unavailable\" thrown in JuliusBrussee/caveman.","triggerScenarios":"Thrown at cacheengine/cachebench/replay_http.go:222 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set OPENAI_API_KEY for the replay."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"27d5a3981a347890211bb1bf2439e5c821a63bc9","analyzedAt":"2026-08-15T09:26:11.751Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}