{"record":{"id":"e8bae3787a9751e4","repo":"JuliusBrussee/caveman","slug":"cachebench-could-not-build-provider-request","errorCode":null,"errorMessage":"cachebench: could not build provider request","messagePattern":"cachebench: could not build provider request","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cacheengine/cachebench/replay_http.go","lineNumber":139,"sourceCode":"\t\treturn ReplayResponse{}, errors.New(\"cachebench: nil HTTP replay transport\")\n\t}\n\tif int64(len(outbound.Body)) > transport.maxRequestBytes {\n\t\treturn ReplayResponse{}, errors.New(\"cachebench: replay body exceeds configured request limit\")\n\t}\n\tprovider := strings.ToLower(strings.TrimSpace(outbound.Provider))\n\tif !validBoundedText(provider, 64, false) {\n\t\treturn ReplayResponse{}, errors.New(\"cachebench: invalid replay provider\")\n\t}\n\tendpoint, err := transport.endpoint(provider, outbound)\n\tif err != nil {\n\t\treturn ReplayResponse{}, err\n\t}\n\tif !validUniqueJSONObject(outbound.Body) {\n\t\treturn ReplayResponse{}, errors.New(\"cachebench: replay body must be one JSON object\")\n\t}\n\trequest, err := http.NewRequestWithContext(ctx, http.MethodPost, endpoint.String(), bytes.NewReader(outbound.Body))\n\tif err != nil {\n\t\treturn ReplayResponse{}, errors.New(\"cachebench: could not build provider request\")\n\t}\n\trequest.Header.Set(\"content-type\", \"application/json\")\n\trequest.Header.Set(\"accept\", \"application/json\")\n\trequest.Header.Set(\"user-agent\", \"caveman-cachebench-replay/1\")\n\tif err := transport.authorize(provider, outbound.Region, request, outbound.Body); err != nil {\n\t\treturn ReplayResponse{}, err\n\t}\n\tresponse, err := transport.client.Do(request)\n\tif err != nil {\n\t\treturn ReplayResponse{}, errors.New(\"cachebench: provider request failed\")\n\t}\n\tdefer response.Body.Close()\n\tbody, err := io.ReadAll(io.LimitReader(response.Body, transport.maxResponseBytes+1))\n\tif err != nil {\n\t\treturn ReplayResponse{StatusCode: response.StatusCode}, errors.New(\"cachebench: provider response read failed\")\n\t}\n\tif int64(len(body)) > transport.maxResponseBytes {\n\t\treturn ReplayResponse{StatusCode: response.StatusCode}, errors.New(\"cachebench: provider response exceeds configured limit\")","sourceCodeStart":121,"sourceCodeEnd":157,"githubUrl":"https://github.com/JuliusBrussee/caveman/blob/27d5a3981a347890211bb1bf2439e5c821a63bc9/cacheengine/cachebench/replay_http.go#L121-L157","documentation":"Error \"cachebench: could not build provider request\" thrown in JuliusBrussee/caveman.","triggerScenarios":"Thrown at cacheengine/cachebench/replay_http.go:139 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Fix the request fields so the provider request can be built."],"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"}