From 59033d330df47c457fed89b44e65cc71a6cd67c5 Mon Sep 17 00:00:00 2001 From: Alex Vanin Date: Tue, 15 Sep 2020 13:46:56 +0300 Subject: [PATCH] [#143] sdk/client: Add call option to set bearer token Signed-off-by: Alex Vanin --- pkg/client/opts.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/pkg/client/opts.go b/pkg/client/opts.go index 24071629..ec329f11 100644 --- a/pkg/client/opts.go +++ b/pkg/client/opts.go @@ -30,7 +30,7 @@ type ( ttl uint32 epoch uint64 session *token.SessionToken - // add bearer token + bearer *token.BearerToken } clientOptions struct { @@ -107,6 +107,12 @@ func WithSession(token *token.SessionToken) CallOption { }) } +func WithBearer(token *token.BearerToken) CallOption { + return newFuncCallOption(func(option *callOptions) { + option.bearer = token + }) +} + func v2MetaHeaderFromOpts(options callOptions) *v2session.RequestMetaHeader { meta := new(v2session.RequestMetaHeader) meta.SetVersion(options.version.ToV2()) @@ -120,6 +126,10 @@ func v2MetaHeaderFromOpts(options callOptions) *v2session.RequestMetaHeader { meta.SetXHeaders(xhdrs) + if options.bearer != nil { + meta.SetBearerToken(options.bearer.ToV2()) + } + return meta }