@@ -0,0 +1,16 @@
|
||||
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
|
||||
}
|
||||
Reference in New Issue
Block a user