Skip to content

Commit ccad59d

Browse files
committed
TUN-7564: Support cf-trace-id for cloudflared access
1 parent 8a3eade commit ccad59d

File tree

2 files changed

+5
-4
lines changed

2 files changed

+5
-4
lines changed

cmd/cloudflared/access/carrier.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -148,9 +148,9 @@ func ssh(c *cli.Context) error {
148148
func buildRequestHeaders(values []string) http.Header {
149149
headers := make(http.Header)
150150
for _, valuePair := range values {
151-
split := strings.Split(valuePair, ":")
152-
if len(split) > 1 {
153-
headers.Add(strings.TrimSpace(split[0]), strings.TrimSpace(split[1]))
151+
header, value, found := strings.Cut(valuePair, ":")
152+
if found {
153+
headers.Add(strings.TrimSpace(header), strings.TrimSpace(value))
154154
}
155155
}
156156
return headers

cmd/cloudflared/access/carrier_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ func TestBuildRequestHeaders(t *testing.T) {
1212
headers.Add("client", "value")
1313
headers.Add("secret", "safe-value")
1414

15-
values := buildRequestHeaders([]string{"client: value", "secret: safe-value", "trash"})
15+
values := buildRequestHeaders([]string{"client: value", "secret: safe-value", "trash", "cf-trace-id: 000:000:0:1:asd"})
1616
assert.Equal(t, headers.Get("client"), values.Get("client"))
1717
assert.Equal(t, headers.Get("secret"), values.Get("secret"))
18+
assert.Equal(t, headers.Get("cf-trace-id"), values.Get("000:000:0:1:asd"))
1819
}

0 commit comments

Comments
 (0)