X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/e6617f0bff3521135bc63b229260fdfb7b9dc331..1166aeb6033725709ded753a0c00f69320a9a873:/sdk/go/arvados/context.go diff --git a/sdk/go/arvados/context.go b/sdk/go/arvados/context.go index 555cfc8e90..6ecf85b4e0 100644 --- a/sdk/go/arvados/context.go +++ b/sdk/go/arvados/context.go @@ -8,10 +8,17 @@ import ( "context" ) -type contextKey string - -var contextKeyRequestID contextKey = "X-Request-Id" +type contextKeyRequestID struct{} +type contextKeyAuthorization struct{} func ContextWithRequestID(ctx context.Context, reqid string) context.Context { - return context.WithValue(ctx, contextKeyRequestID, reqid) + return context.WithValue(ctx, contextKeyRequestID{}, reqid) +} + +// ContextWithAuthorization returns a child context that (when used +// with (*Client)RequestAndDecodeContext) sends the given +// Authorization header value instead of the Client's default +// AuthToken. +func ContextWithAuthorization(ctx context.Context, value string) context.Context { + return context.WithValue(ctx, contextKeyAuthorization{}, value) }