package client import "context" type contextKey struct{} // NewContext attaches an API client to a context. func NewContext(ctx context.Context, apiClient *Client) context.Context { return context.WithValue(ctx, contextKey{}, apiClient) } // FromContext returns the API client attached to ctx, or nil if none exists. func FromContext(ctx context.Context) *Client { apiClient, _ := ctx.Value(contextKey{}).(*Client) return apiClient }