1// Copyright The OpenTelemetry Authors
2// SPDX-License-Identifier: Apache-2.0
3
4package baggage // import "go.opentelemetry.io/otel/baggage"
5
6import (
7 "context"
8
9 "go.opentelemetry.io/otel/internal/baggage"
10)
11
12// ContextWithBaggage returns a copy of parent with baggage.
13func 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.
19func 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.
25func FromContext(ctx context.Context) Baggage {
26 // Delegate so any hooks for the OpenTracing bridge are handled.
27 return Baggage{list: baggage.ListFromContext(ctx)}
28}