probelabs/goreplay · error
need both header, regexp and rewrite target, colon-delimited
Error message
need both header, regexp and rewrite target, colon-delimited (ex. Header: regexp,target)
What it means
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.
Source
Thrown at http_modifier_settings.go:246
// Handling of --http-rewrite-header option
type headerRewrite struct {
header []byte
src *regexp.Regexp
target []byte
}
// HeaderRewriteMap holds regexp and data to rewrite headers
type HeaderRewriteMap []headerRewrite
func (r *HeaderRewriteMap) String() string {
return fmt.Sprint(*r)
}
// Set method to implement flags.Value
func (r *HeaderRewriteMap) Set(value string) error {
headerArr := strings.SplitN(value, ":", 2)
if len(headerArr) < 2 {
return errors.New("need both header, regexp and rewrite target, colon-delimited (ex. Header: regexp,target)")
}
header := headerArr[0]
valArr := strings.SplitN(strings.TrimSpace(headerArr[1]), ",", 2)
if len(valArr) < 2 {
return errors.New("need both header, regexp and rewrite target, colon-delimited (ex. Header: regexp,target)")
}
regexp, err := regexp.Compile(valArr[0])
if err != nil {
return err
}
*r = append(*r, headerRewrite{header: []byte(header), src: regexp, target: []byte(valArr[1])})
return nil
}
// Handling of --http-allow-url optionView on GitHub (pinned to 251e45abd2)
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
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at http_modifier_settings.go:246 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of probelabs/goreplay@251e45abd2 (2026-09-02).
Data as JSON: /api/errors/3a4a0c49816b218d.
Report an issue: GitHub.