api

package
v0.9.1 Latest Latest
Warning

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

Go to latest
Published: Aug 21, 2026 License: Apache-2.0 Imports: 0 Imported by: 0

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 提供会话令牌的全生命周期管理:签发、验证、续签、注销。

Jump to

Keyboard shortcuts

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