refactor: openpitrix module

Signed-off-by: hongming <talonwan@yunify.com>
This commit is contained in:
hongming
2019-09-25 14:07:15 +08:00
parent d0dc66cf28
commit 1b5681c12b
314 changed files with 72092 additions and 25762 deletions

View File

@@ -0,0 +1,35 @@
// Copyright 2018 The OpenPitrix Authors. All rights reserved.
// Use of this source code is governed by a Apache license
// that can be found in the LICENSE file.
package ctxutil
import (
"context"
"google.golang.org/grpc/metadata"
)
func GetMessageId(ctx context.Context) []string {
return GetValueFromContext(ctx, messageIdKey)
}
func SetMessageId(ctx context.Context, messageId []string) context.Context {
ctx = context.WithValue(ctx, messageIdKey, messageId)
md, ok := metadata.FromOutgoingContext(ctx)
if !ok {
md = metadata.MD{}
}
md[messageIdKey] = messageId
return metadata.NewOutgoingContext(ctx, md)
}
func AddMessageId(ctx context.Context, messageId ...string) context.Context {
m := GetMessageId(ctx)
m = append(m, messageId...)
return SetMessageId(ctx, m)
}
func ClearMessageId(ctx context.Context) context.Context {
return SetMessageId(ctx, []string{})
}