@@ -4,18 +4,11 @@ import (
4
4
"context"
5
5
6
6
"github.com/cschleiden/go-workflows/backend/metadata"
7
+ "github.com/cschleiden/go-workflows/contextpropagation"
7
8
"github.com/cschleiden/go-workflows/internal/sync"
8
9
)
9
10
10
- type ContextPropagator interface {
11
- Inject (context.Context , * metadata.WorkflowMetadata ) error
12
- Extract (context.Context , * metadata.WorkflowMetadata ) (context.Context , error )
13
-
14
- InjectFromWorkflow (sync.Context , * metadata.WorkflowMetadata ) error
15
- ExtractToWorkflow (sync.Context , * metadata.WorkflowMetadata ) (sync.Context , error )
16
- }
17
-
18
- func Inject (ctx context.Context , metadata * metadata.WorkflowMetadata , propagators []ContextPropagator ) error {
11
+ func Inject (ctx context.Context , metadata * metadata.WorkflowMetadata , propagators []contextpropagation.ContextPropagator ) error {
19
12
for _ , propagator := range propagators {
20
13
err := propagator .Inject (ctx , metadata )
21
14
if err != nil {
@@ -26,7 +19,7 @@ func Inject(ctx context.Context, metadata *metadata.WorkflowMetadata, propagator
26
19
return nil
27
20
}
28
21
29
- func Extract (ctx context.Context , metadata * metadata.WorkflowMetadata , propagators []ContextPropagator ) (context.Context , error ) {
22
+ func Extract (ctx context.Context , metadata * metadata.WorkflowMetadata , propagators []contextpropagation. ContextPropagator ) (context.Context , error ) {
30
23
for _ , propagator := range propagators {
31
24
var err error
32
25
ctx , err = propagator .Extract (ctx , metadata )
@@ -38,7 +31,7 @@ func Extract(ctx context.Context, metadata *metadata.WorkflowMetadata, propagato
38
31
return ctx , nil
39
32
}
40
33
41
- func InjectFromWorkflow (ctx sync.Context , metadata * metadata.WorkflowMetadata , propagators []ContextPropagator ) error {
34
+ func InjectFromWorkflow (ctx sync.Context , metadata * metadata.WorkflowMetadata , propagators []contextpropagation. ContextPropagator ) error {
42
35
for _ , propagator := range propagators {
43
36
err := propagator .InjectFromWorkflow (ctx , metadata )
44
37
if err != nil {
@@ -49,7 +42,7 @@ func InjectFromWorkflow(ctx sync.Context, metadata *metadata.WorkflowMetadata, p
49
42
return nil
50
43
}
51
44
52
- func ExtractToWorkflow (ctx sync.Context , metadata * metadata.WorkflowMetadata , propagators []ContextPropagator ) (sync.Context , error ) {
45
+ func ExtractToWorkflow (ctx sync.Context , metadata * metadata.WorkflowMetadata , propagators []contextpropagation. ContextPropagator ) (sync.Context , error ) {
53
46
for _ , propagator := range propagators {
54
47
var err error
55
48
ctx , err = propagator .ExtractToWorkflow (ctx , metadata )
@@ -65,12 +58,12 @@ type propagatorsKey int
65
58
66
59
var propagatorsCtxKey propagatorsKey
67
60
68
- func WithPropagators (ctx sync.Context , propagators []ContextPropagator ) sync.Context {
61
+ func WithPropagators (ctx sync.Context , propagators []contextpropagation. ContextPropagator ) sync.Context {
69
62
return sync .WithValue (ctx , propagatorsCtxKey , propagators )
70
63
}
71
64
72
- func Propagators (ctx sync.Context ) []ContextPropagator {
73
- propagators , ok := ctx .Value (propagatorsCtxKey ).([]ContextPropagator )
65
+ func Propagators (ctx sync.Context ) []contextpropagation. ContextPropagator {
66
+ propagators , ok := ctx .Value (propagatorsCtxKey ).([]contextpropagation. ContextPropagator )
74
67
if ! ok {
75
68
return nil
76
69
}
0 commit comments