From 92b7d2db3bc9612a7f0feafbb7b801d180b5c3b3 Mon Sep 17 00:00:00 2001 From: Asim Aslam Date: Fri, 25 Oct 2019 23:27:59 +0100 Subject: [PATCH] Rename to Merge --- metadata/metadata.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/metadata/metadata.go b/metadata/metadata.go index 58c70c3d..f7444501 100644 --- a/metadata/metadata.go +++ b/metadata/metadata.go @@ -12,6 +12,7 @@ type metaKey struct{} // from Transport headers. type Metadata map[string]string +// Copy makes a copy of the metadata func Copy(md Metadata) Metadata { cmd := make(Metadata) for k, v := range md { @@ -20,16 +21,19 @@ func Copy(md Metadata) Metadata { return cmd } +// FromContext returns metadata from the given context func FromContext(ctx context.Context) (Metadata, bool) { md, ok := ctx.Value(metaKey{}).(Metadata) return md, ok } +// NewContext creates a new context with the given metadata func NewContext(ctx context.Context, md Metadata) context.Context { return context.WithValue(ctx, metaKey{}, md) } -func AppendContext(ctx context.Context, patchMd Metadata, overwrite bool) context.Context { +// MergeContext merges metadata to existing metadata, overwriting if specified +func MergeContext(ctx context.Context, patchMd Metadata, overwrite bool) context.Context { md, _ := ctx.Value(metaKey{}).(Metadata) cmd := make(Metadata) for k, v := range md {