package agent import ( "context" "forge.cadoles.com/Cadoles/emissary/pkg/client" "github.com/pkg/errors" ) type contextKey string const ( contextKeyClient contextKey = "client" contextKeyThumbprint contextKey = "thumbprint" ) func withClient(ctx context.Context, client *client.Client) context.Context { return context.WithValue(ctx, contextKeyClient, client) } func Client(ctx context.Context) *client.Client { client, ok := ctx.Value(contextKeyClient).(*client.Client) if !ok { panic(errors.New("could not retrieve client from context")) } return client } func withThumbprint(ctx context.Context, thumbprint string) context.Context { return context.WithValue(ctx, contextKeyThumbprint, thumbprint) } func Thumbprint(ctx context.Context) string { thumbprint, ok := ctx.Value(contextKeyThumbprint).(string) if !ok { panic(errors.New("could not retrieve thumbprint from context")) } return thumbprint }