Documentation
¶
Overview ¶
Package api 提供 HTTP/API 层的安全、错误处理、元数据与可观测机制。
选包标准:
- 与 HTTP 请求/响应生命周期相关(认证、错误码、审计、元数据传播等)
- 不涉及持久连接/推送(那属于 transport/)
- 可依赖 foundation/、resilience/(如 ratelimit)
已有子包:
handler — 类型安全的 HTTP handler 注册(自动 JSON 编解码) errors — 结构化错误码(gRPC/HTTP 双模) dberr — 数据库错误到 API 错误的映射 audit — 审计日志 authz — RBAC/ABAC 授权接口(contrib/ 提供 casbin/openfga 实现) token — 双 Token(access+refresh)+ 黑名单注销 metadata — 请求元数据提取与传播(含 propagation 子包) featureflag — 特性开关 afterwork — 请求结束后的异步清理任务 callbacks — 回调构建器(Builder 模式)
Directories
¶
| Path | Synopsis |
|---|---|
|
Package afterwork 提供请求级后台任务延寿(waitUntil 语义)。
|
Package afterwork 提供请求级后台任务延寿(waitUntil 语义)。 |
|
Package audit 提供操作审计日志:结构化记录"谁在何时对什么资源做了什么操作", 仅记录成功的请求(失败请求走普通日志),用于合规与运维审计。
|
Package audit 提供操作审计日志:结构化记录"谁在何时对什么资源做了什么操作", 仅记录成功的请求(失败请求走普通日志),用于合规与运维审计。 |
|
Package authz 提供授权(authorization)机制:在认证(pkg/middleware/auth、pkg/token 确认 "你是谁 + 有哪些角色")之上,判定"这个身份能否对某资源做某动作"。
|
Package authz 提供授权(authorization)机制:在认证(pkg/middleware/auth、pkg/token 确认 "你是谁 + 有哪些角色")之上,判定"这个身份能否对某资源做某动作"。 |
|
Package callbacks 提供非侵入的执行切面:在某个执行单元的开始/结束/出错时机 触发回调,用于统一注入可观测性(trace、metrics、日志)而不改动业务代码。
|
Package callbacks 提供非侵入的执行切面:在某个执行单元的开始/结束/出错时机 触发回调,用于统一注入可观测性(trace、metrics、日志)而不改动业务代码。 |
|
Package dberr 把数据库驱动错误翻译为 pkg/errors 的 *Status, 让仓储层只抛原生 driver error,中间件/网关层统一拿到带业务码的错误。
|
Package dberr 把数据库驱动错误翻译为 pkg/errors 的 *Status, 让仓储层只抛原生 driver error,中间件/网关层统一拿到带业务码的错误。 |
|
Package featureflag 提供本地评估的特性开关与 A/B 实验: 布尔开关、百分比灰度、按属性定向、多变体实验,均基于确定性哈希分桶, 同一标识(如 userID)多次评估结果稳定,无需远程调用。
|
Package featureflag 提供本地评估的特性开关与 A/B 实验: 布尔开关、百分比灰度、按属性定向、多变体实验,均基于确定性哈希分桶, 同一标识(如 userID)多次评估结果稳定,无需远程调用。 |
|
Package handler 提供声明式 HTTP handler 包装器:把 auth 策略 + 资源注入 + 错误归一化从业务 handler 上移到包装器,handler 只关心 (ctx, req) => (resp, error)。
|
Package handler 提供声明式 HTTP handler 包装器:把 auth 策略 + 资源注入 + 错误归一化从业务 handler 上移到包装器,handler 只关心 (ctx, req) => (resp, error)。 |
|
Package metadata 提供服务间调用的透传元数据机制。
|
Package metadata 提供服务间调用的透传元数据机制。 |
|
propagation
Package propagation 提供 MD 在 HTTP / gRPC 传输层的注入与提取实现。
|
Package propagation 提供 MD 在 HTTP / gRPC 传输层的注入与提取实现。 |
|
Package token 提供会话令牌的全生命周期管理:签发、验证、续签、注销。
|
Package token 提供会话令牌的全生命周期管理:签发、验证、续签、注销。 |
Click to show internal directories.
Click to hide internal directories.