| 123456789101112131415161718192021222324252627 | 
							- package core
 
- import (
 
- 	"context"
 
- )
 
- // XrayKey is the key type of Instance in Context, exported for test.
 
- type XrayKey int
 
- const xrayKey XrayKey = 1
 
- // FromContext returns an Instance from the given context, or nil if the context doesn't contain one.
 
- func FromContext(ctx context.Context) *Instance {
 
- 	if s, ok := ctx.Value(xrayKey).(*Instance); ok {
 
- 		return s
 
- 	}
 
- 	return nil
 
- }
 
- // MustFromContext returns an Instance from the given context, or panics if not present.
 
- func MustFromContext(ctx context.Context) *Instance {
 
- 	x := FromContext(ctx)
 
- 	if x == nil {
 
- 		panic("X is not in context.")
 
- 	}
 
- 	return x
 
- }
 
 
  |