When the request headers editor contains two or more lines with the same header name, wuzz only sends the last value and silently discards the rest.
Repro
Enter these two header lines in the request headers view:
X-Custom: one
X-Custom: two
Submit the request. Only X-Custom: two is sent.
Why it matters
This commonly happens when replaying a copied cURL command that uses repeated -H flags (e.g. multiple X-Custom: or Cookie: lines). cURL sends all of them; wuzz silently drops all but the last, diverging from cURL and discarding request data with no warning.
Cause
In SubmitRequest (wuzz.go), the per-line header loop uses headers.Set(name, value) (which replaces) instead of headers.Add(name, value) (which appends).
When the request headers editor contains two or more lines with the same header name, wuzz only sends the last value and silently discards the rest.
Repro
Enter these two header lines in the request headers view:
Submit the request. Only
X-Custom: twois sent.Why it matters
This commonly happens when replaying a copied cURL command that uses repeated
-Hflags (e.g. multipleX-Custom:orCookie:lines). cURL sends all of them; wuzz silently drops all but the last, diverging from cURL and discarding request data with no warning.Cause
In
SubmitRequest(wuzz.go), the per-line header loop usesheaders.Set(name, value)(which replaces) instead ofheaders.Add(name, value)(which appends).