{"record":{"id":"731755df9de601d3","repo":"anomalyco/sst","slug":"failed-to-write-file-content-for-metadata-w","errorCode":null,"errorMessage":"failed to write file content for metadata: %w","messagePattern":"failed to write file content for metadata: %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/server/resource/cloudflare-worker-script.go","lineNumber":195,"sourceCode":"\t}\n\n\t// Add metadata to form data\n\tmetadataPart, err := writer.CreatePart(map[string][]string{\n\t\t\"Content-Disposition\": []string{`form-data; name=\"metadata\"`},\n\t\t\"Content-Type\":        []string{\"application/json\"},\n\t})\n\tif err != nil {\n\t\treturn fmt.Errorf(\"failed to create form part metadata: %w\", err)\n\t}\n\n\tmetadata, err := json.Marshal(buildMetadata(input))\n\tif err != nil {\n\t\treturn fmt.Errorf(\"failed to marshal metadata: %w\", err)\n\t}\n\n\t_, err = metadataPart.Write(metadata)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"failed to write file content for metadata: %w\", err)\n\t}\n\n\t// Close writer\n\terr = writer.Close()\n\tif err != nil {\n\t\treturn fmt.Errorf(\"failed to close writer: %w\", err)\n\t}\n\n\turl := fmt.Sprintf(\"https://api.cloudflare.com/client/v4/accounts/%s/workers/scripts/%s\", input.AccountId, input.ScriptName)\n\n\treq, err := http.NewRequest(\"PUT\", url, &body)\n\tif err != nil {\n\t\treturn err\n\t}\n\treq.Header.Set(\"Content-Type\", \"multipart/form-data; boundary=\"+writer.Boundary())\n\treq.Header.Set(\"Authorization\", \"Bearer \"+input.ApiToken)\n\n\tclient := &http.Client{Timeout: 30 * time.Second}","sourceCodeStart":177,"sourceCodeEnd":213,"githubUrl":"https://github.com/anomalyco/sst/blob/a0bd20f762883e72a35caccb4896c42ce5b3f707/pkg/server/resource/cloudflare-worker-script.go#L177-L213","documentation":"Returned when writing the marshaled metadata JSON bytes into the 'metadata' multipart part fails. Like the content-part write, the target is an in-memory bytes.Buffer, so this indicates a buffer/write-level failure rather than a Cloudflare API problem. Raised in handleUpdate during Create/Update.","triggerScenarios":"metadataPart.Write(metadata) returns an error or short write after successful json.Marshal of the metadata.","commonSituations":"Memory exhaustion on very large metadata (e.g. huge _headers/_redirects strings); internal writer state corruption.","solutions":["Check the wrapped inner error for allocation/OOM causes","Trim large _headers/_redirects content passed via Assets.Config","Retry the deploy; if persistent, inspect local modifications to the resource"],"exampleFix":"null","handlingStrategy":"try-catch","validationCode":"if len(input.Assets.Config.Headers) > 1<<20 || len(input.Assets.Config.Redirects) > 1<<20 { return errors.New(\"headers/redirects too large\") }","typeGuard":null,"tryCatchPattern":"if err := handleUpdate(input); err != nil {\n    if strings.Contains(err.Error(), \"failed to write file content for metadata\") {\n        log.Printf(\"metadata write failed, check metadata size: %v\", err)\n    }\n    return err\n}","preventionTips":["Keep _headers/_redirects payloads modest in size","Retry once; persistent failures indicate memory issues","Don't mutate metadata between Marshal and Write"],"tags":["cloudflare","multipart","io","metadata"],"backgroundTag":"multipart-form-write-failed","analyzedSha":"a0bd20f762883e72a35caccb4896c42ce5b3f707","analyzedAt":"2026-08-30T11:26:00.383Z","schemaVersion":2},"datasetVersion":"2026-08-30T13:17:10.514Z"}