| 12345678910111213141516171819202122232425262728293031 | package contextimport (	"context"	"fmt"	"google.golang.org/grpc/metadata")func AppendToContext(ctx context.Context, key string, value interface{}) context.Context {	ctx = context.WithValue(ctx, key, value)	_value := ""	switch value.(type) {	case []byte:		_value = string(value.([]byte))		break	case string:		_value = value.(string)		break	default:		_value = fmt.Sprint(value)		break	}	md, _, ex := metadata.FromOutgoingContextRaw(ctx)	if !ex {		md = metadata.New(map[string]string{})	}	md.Set(key, _value)	ctx = metadata.NewOutgoingContext(ctx, md)	return ctx}
 |