From f8750ba679f17d735ae0fe999e419a1faf35f546 Mon Sep 17 00:00:00 2001 From: PJ Doerner Date: Thu, 13 Jul 2023 12:43:35 -0700 Subject: [PATCH] set caller type header --- cli/headers/headers.go | 4 ++++ cli/headersprovider/headers_provider.go | 16 +++++++--------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/cli/headers/headers.go b/cli/headers/headers.go index d707d35..8143dcd 100644 --- a/cli/headers/headers.go +++ b/cli/headers/headers.go @@ -36,10 +36,12 @@ const ( SupportedServerVersionsHeaderName = "supported-server-versions" SupportedFeaturesHeaderName = "supported-features" SupportedFeaturesHeaderDelim = "," + CallerTypeHeaderName = "caller-type" ) const ( ClientNameCLI = "temporal-cli" + CallerTypeCLI = "operator" CLIVersion = "1.18.0" @@ -54,6 +56,7 @@ var ( ClientVersionHeaderName, SupportedServerVersionsHeaderName, SupportedFeaturesHeaderName, + CallerTypeHeaderName, } internalVersionHeaders = metadata.New(map[string]string{ @@ -62,6 +65,7 @@ var ( cliVersionHeaders = metadata.New(map[string]string{ ClientNameHeaderName: ClientNameCLI, + CallerTypeHeaderName: CallerTypeCLI, ClientVersionHeaderName: CLIVersion, SupportedServerVersionsHeaderName: SupportedServerVersions, // TODO: This should include SupportedFeaturesHeaderName with a value that's taken diff --git a/cli/headersprovider/headers_provider.go b/cli/headersprovider/headers_provider.go index 3998e87..49dcc03 100644 --- a/cli/headersprovider/headers_provider.go +++ b/cli/headersprovider/headers_provider.go @@ -25,29 +25,27 @@ package headersprovider import ( "context" + "github.com/temporalio/tctl/cli/headers" "github.com/temporalio/tctl/cli/plugin" ) -type HeadersProvider interface { - GetHeaders(context.Context) (map[string]string, error) -} - var ( headersProvider plugin.HeadersProvider = nil ) -type authHeaderProvider struct { - value string +type headerProvider struct { + authHeaderValue string } -func (a authHeaderProvider) GetHeaders(ctx context.Context) (map[string]string, error) { +func (a headerProvider) GetHeaders(ctx context.Context) (map[string]string, error) { return map[string]string{ - "Authorization": a.value, + headers.CallerTypeHeaderName: headers.CallerTypeCLI, + "Authorization": a.authHeaderValue, }, nil } func SetAuthorizationHeader(value string) { - headersProvider = &authHeaderProvider{value: value} + headersProvider = &headerProvider{authHeaderValue: value} } func SetCurrent(hp plugin.HeadersProvider) {