From cfb6109325fe1e913760e738df2955e64b28ccd3 Mon Sep 17 00:00:00 2001 From: PJ Doerner Date: Mon, 17 Jul 2023 16:47:59 -0700 Subject: [PATCH] Set caller-type header --- headers/headers.go | 5 ++++- headersprovider/headers_provider.go | 10 +++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/headers/headers.go b/headers/headers.go index af368c698..7030e4658 100644 --- a/headers/headers.go +++ b/headers/headers.go @@ -13,6 +13,7 @@ const ( SupportedServerVersionsHeaderName = "supported-server-versions" SupportedFeaturesHeaderName = "supported-features" SupportedFeaturesHeaderDelim = "," + CallerTypeHeaderName = "caller-type" ) const DEV_VERSION = "0.0.0-DEV" @@ -21,7 +22,8 @@ const DEV_VERSION = "0.0.0-DEV" var Version = DEV_VERSION const ( - ClientNameCLI = "temporal-cli" + ClientNameCLI = "temporal-cli" + CallerTypeHeaderCLI = "operator" // SupportedServerVersions is used by CLI and inter role communication. SupportedServerVersions = ">=1.0.0 <2.0.0" @@ -32,6 +34,7 @@ var ( ClientNameHeaderName: ClientNameCLI, ClientVersionHeaderName: Version, SupportedServerVersionsHeaderName: SupportedServerVersions, + CallerTypeHeaderName: CallerTypeHeaderCLI, // TODO: This should include SupportedFeaturesHeaderName with a value that's taken // from the Go SDK (since the cli uses the Go SDK for most operations). }) diff --git a/headersprovider/headers_provider.go b/headersprovider/headers_provider.go index a39d9fac8..79c1d6b56 100644 --- a/headersprovider/headers_provider.go +++ b/headersprovider/headers_provider.go @@ -2,6 +2,8 @@ package headersprovider import ( "context" + + h "github.com/temporalio/cli/headers" ) type HeadersProvider interface { @@ -16,12 +18,18 @@ type grpcHeaderProvider struct { headers map[string]string } +func newGrpcHeaderProvider(headers map[string]string) *grpcHeaderProvider { + provider := &grpcHeaderProvider{headers} + provider.headers[h.CallerTypeHeaderName] = h.CallerTypeHeaderCLI + return provider +} + func (a grpcHeaderProvider) GetHeaders(ctx context.Context) (map[string]string, error) { return a.headers, nil } func SetGRPCHeadersProvider(headers map[string]string) { - headersProvider = &grpcHeaderProvider{headers} + headersProvider = newGrpcHeaderProvider(headers) } func SetCurrent(hp HeadersProvider) {