Atlas › Test
TestSetCallOrigin
Exact test identity: go.temporal.io/server/common/headers/TestCallerInfoSuite/TestSetCallOrigin
- Package
go.temporal.io/server/common/headers
- Suite / test hierarchy
TestCallerInfoSuite/TestSetCallOrigin
- Test
TestSetCallOrigin
- Introduced at
- TestSetCallOrigin Frontier kind: Test frontier
- Covered ranges
- 9
- Covered lines
- 29
- Covered files
- 2
Covered source
Expand a file to inspect source; the > gutter marks covered lines.
go.temporal.io/server/common/headers/headers.go 18 covered LOC · 7 ranges
Open complete file
45
// GetValues returns header values for passed header names.
46
// It always returns slice of the same size as number of passed header names.
47
>
func GetValues(ctx context.Context, headerNames ...string) []string {
headers.go
48
>
headerValues := make([]string, len(headerNames))
49
>
50
>
for i, headerName := range headerNames {
51
>
if values := metadata.ValueFromIncomingContext(ctx, headerName); len(values) > 0 {
53
>
}
54
}
55
57
}
58
154
// setIncomingMD sets the key-value pairs in the incoming metadata.
155
// Empty values are ignored.
156
>
func setIncomingMD(ctx context.Context, kv map[string]string) context.Context {
headers.go
157
>
mdIncoming, ok := metadata.FromIncomingContext(ctx)
158
>
if !ok {
160
>
}
162
>
if v != "" {
163
>
mdIncoming.Set(k, v)
164
>
}
165
}
166
>
return metadata.NewIncomingContext(ctx, mdIncoming)
headers.go
167
}
go.temporal.io/server/common/headers/caller_info.go 11 covered LOC · 2 ranges
Open complete file
148
ctx context.Context,
149
callOrigin string,
151
>
return setIncomingMD(ctx, map[string]string{CallOriginHeaderName: callOrigin})
152
>
}
153
154
// GetCallerInfo retrieves caller information from the context if exists. Empty value is returned
156
func GetCallerInfo(
157
ctx context.Context,
159
>
values := GetValues(ctx, CallerNameHeaderName, CallerTypeHeaderName, CallOriginHeaderName)
160
>
return CallerInfo{
161
>
CallerName: values[0],
162
>
CallerType: values[1],
163
>
CallOrigin: values[2],
164
>
}
165
>
}