propagator

package
v0.1.4 Latest Latest
Warning

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

Go to latest
Published: Jun 2, 2026 License: MIT Imports: 3 Imported by: 0

Documentation

Overview

Package propagator provides metadata propagation implementation for gorp framework. Supports prefix-based filtering and constant metadata injection. Used for HTTP/gRPC cross-boundary metadata propagation.

传播器包提供元数据传播实现,用于 gorp 框架。 支持前缀过滤和常量元数据注入。 用于 HTTP/gRPC 跨边界元数据传播。

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DefaultPropagator

type DefaultPropagator struct {
	// contains filtered or unexported fields
}

DefaultPropagator implements MetadataPropagator with prefix filtering. Core logic: Filter keys by prefix, inject constant metadata, propagate client/server metadata.

DefaultPropagator 实现带前缀过滤的 MetadataPropagator。 核心逻辑:按前缀过滤键、注入常量元数据、传播客户端/服务端元数据。

func NewDefaultPropagator

func NewDefaultPropagator(prefix []string, constant map[string]string) *DefaultPropagator

NewDefaultPropagator creates a propagator with prefix and constant metadata. Core logic: Set default prefix if empty, initialize constant map.

NewDefaultPropagator 创建带前缀和常量元数据的传播器。 核心逻辑:若前缀为空则设置默认值、初始化常量 map。

func (*DefaultPropagator) Extract

Extract extracts metadata from carrier into context for incoming request. Core logic: Extract keys matching prefix, create server context with metadata.

Extract 从 carrier 提取元数据到 context,用于 incoming 请求。 核心逻辑:提取匹配前缀的键、创建携带元数据的 server context。

func (*DefaultPropagator) Inject

Inject injects metadata into carrier for outgoing request. Core logic: Inject constant metadata, then client/server metadata matching prefix.

Inject 将元数据注入 carrier,用于 outgoing 请求。 核心逻辑:注入常量元数据、然后注入匹配前缀的客户端/服务端元数据。

type NoopPropagator

type NoopPropagator struct{}

NoopPropagator is a no-op implementation of MetadataPropagator. Used when metadata propagation is disabled.

NoopPropagator 是 MetadataPropagator 的空实现。 用于禁用元数据传播的场景。

func NewNoopPropagator

func NewNoopPropagator() *NoopPropagator

NewNoopPropagator creates a no-op propagator.

NewNoopPropagator 创建空传播器。

func (*NoopPropagator) Extract

Extract returns original context unchanged.

Extract 返回原始 context 不做修改。

func (*NoopPropagator) Inject

Inject does nothing (no-op).

Inject 无操作。

Jump to

Keyboard shortcuts

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