{"record":{"id":"02dda817ef5ff6aa","repo":"JuliusBrussee/caveman","slug":"cachebench-bedrock-credentials-unavailable","errorCode":null,"errorMessage":"cachebench: Bedrock credentials unavailable","messagePattern":"cachebench: Bedrock credentials unavailable","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cacheengine/cachebench/replay_http.go","lineNumber":242,"sourceCode":"\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}\n\t\tif !validAWSRegion(region) || !transport.credentials.AWS.Valid() || !validReplaySecret(transport.credentials.AWS.AccessKeyID) || !validReplaySecret(transport.credentials.AWS.SecretAccessKey) || transport.credentials.AWS.SessionToken != \"\" && !validReplaySecret(transport.credentials.AWS.SessionToken) {\n\t\t\treturn errors.New(\"cachebench: Bedrock credentials unavailable\")\n\t\t}\n\t\tsigner := awssig.Signer{Region: region, Service: \"bedrock\"}\n\t\tif err := signer.Sign(request, transport.credentials.AWS, awssig.HashPayload(body), time.Now().UTC()); err != nil {\n\t\t\treturn errors.New(\"cachebench: Bedrock request signing failed\")\n\t\t}\n\tdefault:\n\t\treturn errors.New(\"cachebench: unsupported replay provider\")\n\t}\n\treturn nil\n}\n\nfunc validateReplayBaseURL(raw string, allowInsecureLoopback bool) (*url.URL, error) {\n\tparsed, err := url.Parse(strings.TrimSpace(raw))\n\tif err != nil || parsed.Host == \"\" || parsed.User != nil || parsed.RawQuery != \"\" || parsed.Fragment != \"\" {\n\t\treturn nil, errors.New(\"invalid absolute base URL\")\n\t}\n\tif parsed.Scheme == \"https\" {\n\t\treturn parsed, nil","sourceCodeStart":224,"sourceCodeEnd":260,"githubUrl":"https://github.com/JuliusBrussee/caveman/blob/27d5a3981a347890211bb1bf2439e5c821a63bc9/cacheengine/cachebench/replay_http.go#L224-L260","documentation":"Error \"cachebench: Bedrock credentials unavailable\" thrown in JuliusBrussee/caveman.","triggerScenarios":"Thrown at cacheengine/cachebench/replay_http.go:242 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Provide Bedrock credentials (bearer token or AWS access keys)."],"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"}