rpc

package
v0.3.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 17, 2026 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package rpc propagates tenant metadata through framework-neutral carriers.

包 rpc 通过与框架无关的载体传播租户元数据。

Index

Constants

View Source
const DefaultTenantMetadataKey = "x-tenant-id"

Variables

View Source
var (
	ErrNoTenantMetadata = errors.New("saas/rpc: no tenant metadata")
	ErrInvalidCarrier   = errors.New("saas/rpc: invalid carrier")
)

Functions

func ExtractTenant

func ExtractTenant(carrier Carrier, key string, strategy types.TenantIDStrategy) (types.TenantID, error)

ExtractTenant reads tenant metadata from carrier.

func InjectTenant

func InjectTenant(ctx context.Context, carrier Carrier, key string) error

InjectTenant writes tenant metadata from ctx into carrier.

Types

type Carrier

type Carrier interface {
	Get(key string) (string, bool)
	Set(key string, value string)
}

Carrier stores RPC metadata.

type MapCarrier

type MapCarrier map[string]string

MapCarrier is an in-memory metadata carrier.

func (MapCarrier) Get

func (carrier MapCarrier) Get(key string) (string, bool)

Get returns metadata by key.

func (MapCarrier) Set

func (carrier MapCarrier) Set(key string, value string)

Set stores metadata by key.

Directories

Path Synopsis
Package mq provides SDK-free adapters for propagating SaaS tenant metadata through NATS, RabbitMQ, and Kafka message headers.
Package mq provides SDK-free adapters for propagating SaaS tenant metadata through NATS, RabbitMQ, and Kafka message headers.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL