context.go raw
1 // Copyright The OpenTelemetry Authors
2 // SPDX-License-Identifier: Apache-2.0
3
4 package baggage // import "go.opentelemetry.io/otel/baggage"
5
6 import (
7 "context"
8
9 "go.opentelemetry.io/otel/internal/baggage"
10 )
11
12 // ContextWithBaggage returns a copy of parent with baggage.
13 func ContextWithBaggage(parent context.Context, b Baggage) context.Context {
14 // Delegate so any hooks for the OpenTracing bridge are handled.
15 return baggage.ContextWithList(parent, b.list)
16 }
17
18 // ContextWithoutBaggage returns a copy of parent with no baggage.
19 func ContextWithoutBaggage(parent context.Context) context.Context {
20 // Delegate so any hooks for the OpenTracing bridge are handled.
21 return baggage.ContextWithList(parent, nil)
22 }
23
24 // FromContext returns the baggage contained in ctx.
25 func FromContext(ctx context.Context) Baggage {
26 // Delegate so any hooks for the OpenTracing bridge are handled.
27 return Baggage{list: baggage.ListFromContext(ctx)}
28 }
29