Skip to content

Commit a04a598

Browse files
Cleanup X-Sigsci-* header generation.
1 parent 4073808 commit a04a598

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

module.go

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -240,15 +240,25 @@ func (m *Module) inspectorPreRequest(req *http.Request) (inspin2 RPCMsgIn2, out
240240
return
241241
}
242242

243-
// set any request headers
244243
if out.RequestID != "" {
245-
req.Header.Add("X-Sigsci-Requestid", out.RequestID)
244+
req.Header.Set("X-Sigsci-Requestid", out.RequestID)
245+
} else {
246+
req.Header.Del("X-Sigsci-Requestid")
246247
}
247248

248249
wafresponse := out.WAFResponse
249-
req.Header.Add("X-Sigsci-Agentresponse", strconv.Itoa(int(wafresponse)))
250+
req.Header.Set("X-Sigsci-Agentresponse", strconv.Itoa(int(wafresponse)))
251+
252+
// Add request headers from the WAF response to the request
253+
req.Header.Del("X-Sigsci-Tags")
254+
req.Header.Del("X-Sigsci-Redirect")
250255
for _, kv := range out.RequestHeaders {
251-
req.Header.Add(kv[0], kv[1])
256+
// For X-Sigsci-* headers, use Set to override, but for custom headers, use Add to append
257+
if strings.HasPrefix(http.CanonicalHeaderKey(kv[0]), "X-Sigsci-") {
258+
req.Header.Set(kv[0], kv[1])
259+
} else {
260+
req.Header.Add(kv[0], kv[1])
261+
}
252262
}
253263

254264
inspin2 = RPCMsgIn2{

0 commit comments

Comments
 (0)