kuma

Форк
0
/
multitenancy.go 
31 строка · 649.0 Байт
1
package envoyadmin
2

3
import (
4
	"context"
5

6
	"google.golang.org/grpc/metadata"
7

8
	"github.com/kumahq/kuma/pkg/multitenant"
9
)
10

11
const TenantMetadataKey = "tenant_id"
12

13
func appendTenantMetadata(ctx context.Context) context.Context {
14
	tenantId, ok := multitenant.TenantFromCtx(ctx)
15
	if !ok {
16
		return ctx
17
	}
18
	return metadata.AppendToOutgoingContext(ctx, TenantMetadataKey, tenantId)
19
}
20

21
func extractTenantMetadata(ctx context.Context) context.Context {
22
	md, ok := metadata.FromIncomingContext(ctx)
23
	if !ok {
24
		return ctx
25
	}
26
	tenantIds := md.Get(TenantMetadataKey)
27
	if len(tenantIds) != 1 {
28
		return ctx
29
	}
30
	return multitenant.WithTenant(ctx, tenantIds[0])
31
}
32

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.