rpc

package
v0.1.3 Latest Latest
Warning

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

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

Documentation

Overview

Package rpc propagates tenant metadata through framework-neutral carriers.

Index

Constants

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

Variables

View Source
var (
	ErrNoTenantMetadata = errors.New("gotenancy/rpc: no tenant metadata")
	ErrInvalidCarrier   = errors.New("gotenancy/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.

Jump to

Keyboard shortcuts

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