Documentation
¶
Overview ¶
Package lavacontexts 提供基于 context.Context 的请求级数据传递工具。
它在 context 中存取以下几类与单次 RPC/HTTP 请求绑定的数据:
- 请求 ID(reqId):用于全链路日志追踪
- 客户端/服务端 ServiceInfo:调用双方的服务元信息
- 请求/响应 Header:lava 抽象 header 引用
所有 Getter 在 context 中不存在对应值时均安全返回零值("" 或 nil), 不会 panic,调用方无需额外的 recover 保护。
Index ¶
- func CreateCtxWithClientInfo(ctx context.Context, info *lavapbv1.ServiceInfo) context.Context
- func CreateCtxWithReqID(ctx context.Context, reqId string) context.Context
- func CreateCtxWithServerInfo(ctx context.Context, info *lavapbv1.ServiceInfo) context.Context
- func CreateReqHeader(ctx context.Context, header lava.RequestHeader) context.Context
- func CreateRspHeader(ctx context.Context, header lava.ResponseHeader) context.Context
- func GetClientInfo(ctx context.Context) *lavapbv1.ServiceInfo
- func GetReqID(ctx context.Context) string
- func GetServerInfo(ctx context.Context) *lavapbv1.ServiceInfo
- func ReqHeader(ctx context.Context) lava.RequestHeader
- func RspHeader(ctx context.Context) lava.ResponseHeader
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateCtxWithClientInfo ¶
CreateCtxWithClientInfo 返回携带客户端 ServiceInfo 的新 context。
func CreateCtxWithReqID ¶
CreateCtxWithReqID 返回携带请求 ID 的新 context。
func CreateCtxWithServerInfo ¶
CreateCtxWithServerInfo 返回携带服务端 ServiceInfo 的新 context。
func CreateReqHeader ¶
CreateReqHeader 返回携带请求 Header 的新 context。
func CreateRspHeader ¶
CreateRspHeader 返回携带响应 Header 的新 context。
func GetClientInfo ¶
func GetClientInfo(ctx context.Context) *lavapbv1.ServiceInfo
GetClientInfo 返回 context 中的客户端 ServiceInfo,不存在时返回 nil。
func GetServerInfo ¶
func GetServerInfo(ctx context.Context) *lavapbv1.ServiceInfo
GetServerInfo 返回 context 中的服务端 ServiceInfo,不存在时返回 nil。
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.