{"record":{"id":"3a4a0c49816b218d","repo":"probelabs/goreplay","slug":"need-both-header-regexp-and-rewrite-target-colon","errorCode":null,"errorMessage":"need both header, regexp and rewrite target, colon-delimited (ex. Header: regexp,target)","messagePattern":"need both header, regexp and rewrite target, colon-delimited \\(ex\\. Header: regexp,target\\)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"http_modifier_settings.go","lineNumber":246,"sourceCode":"// Handling of --http-rewrite-header option\ntype headerRewrite struct {\n\theader []byte\n\tsrc    *regexp.Regexp\n\ttarget []byte\n}\n\n// HeaderRewriteMap holds regexp and data to rewrite headers\ntype HeaderRewriteMap []headerRewrite\n\nfunc (r *HeaderRewriteMap) String() string {\n\treturn fmt.Sprint(*r)\n}\n\n// Set method to implement flags.Value\nfunc (r *HeaderRewriteMap) Set(value string) error {\n\theaderArr := strings.SplitN(value, \":\", 2)\n\tif len(headerArr) < 2 {\n\t\treturn errors.New(\"need both header, regexp and rewrite target, colon-delimited (ex. Header: regexp,target)\")\n\t}\n\n\theader := headerArr[0]\n\tvalArr := strings.SplitN(strings.TrimSpace(headerArr[1]), \",\", 2)\n\n\tif len(valArr) < 2 {\n\t\treturn errors.New(\"need both header, regexp and rewrite target, colon-delimited (ex. Header: regexp,target)\")\n\t}\n\n\tregexp, err := regexp.Compile(valArr[0])\n\tif err != nil {\n\t\treturn err\n\t}\n\t*r = append(*r, headerRewrite{header: []byte(header), src: regexp, target: []byte(valArr[1])})\n\treturn nil\n}\n\n// Handling of --http-allow-url option","sourceCodeStart":228,"sourceCodeEnd":264,"githubUrl":"https://github.com/probelabs/goreplay/blob/251e45abd242886bb64ff2b2dc98789556b56330/http_modifier_settings.go#L228-L264","documentation":"Flag-value validation error raised by HeaderRewriteMap.Set (used by --http-rewrite-header) when the argument lacks a colon separating the header name from its 'regexp,target' rewrite spec, so no headerRewrite rule can be constructed.","triggerScenarios":"Thrown at http_modifier_settings.go:246 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Provide three parts: 'Header: regexp,target', e.g. --http-rewrite-header 'Cookie: (.*)token=[^;]*;?(.*)$,$1token=new$2'","Quote the argument to protect colons, commas and dollar signs from the shell","Split the spec mentally: header name before the colon, regexp,target after"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"251e45abd242886bb64ff2b2dc98789556b56330","analyzedAt":"2026-09-02T16:44:11.369Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-09T21:17:11.164Z"}