Help us shape the future of Go! Take the 2026 Go Developer Survey

pkg/

directory
v0.18.1 Latest Latest
Warning

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

Go to latest
Published: Oct 12, 2026 License: Apache-2.0

README

pkg/ - core 横切设施

此目录存放 core 内部的横切工具和通用组件。

目录结构

pkg/
├── auth/        # 认证(JWT/API Key)
├── errors/      # 错误处理(错误码定义在 contracts errcode)
├── gate/        # 功能门控
├── logger/      # 日志工具封装
├── metrics/     # 指标
├── middleware/  # HTTP 中间件
├── resp/        # HTTP 响应工具
├── security/    # 安全设施(SSRF 校验等)
├── transfer/    # 传输相关
└── utils/       # 通用工具函数

与 kit 的边界

位置 用途 定位
pigeonbox/kit 通用工具库(async/retry/ratelimit/… 共 28 包) 零生态依赖,任何项目可 go get 消费
本 pkg/ core 横切设施 与 core 业务/配置绑定的专用设施,随 core 版本走

主要组件

errors/
  • AppError 错误结构
  • errcode(定义在 contracts)到错误消息/HTTP 响应的映射
logger/
  • Zap 日志封装
  • 日志级别、文件输出配置
  • 便捷日志方法
resp/
  • HTTP 响应工具函数
  • Success/Error/Page 等标准响应
  • 错误码自动映射

添加新工具

  1. 在 pkg/ 下创建新目录
  2. 实现工具函数
  3. 在需要的地方导入使用
import "github.com/pigeonbox/core/pkg/yourpkg"

Directories

Path Synopsis
Package baseurl 公开链接 base 解析(请求级公开地址推断的单源)。
Package baseurl 公开链接 base 解析(请求级公开地址推断的单源)。
shareblocked.go 分享管控拒绝态错误(治理状态机的 typed error 词汇表)。
shareblocked.go 分享管控拒绝态错误(治理状态机的 typed error 词汇表)。
Package gate 上传/下载准入闸门。
Package gate 上传/下载准入闸门。
ring.go 进程内日志环形缓冲(管理端「系统日志」页的真实数据源)。
ring.go 进程内日志环形缓冲(管理端「系统日志」页的真实数据源)。
Package memkv 进程内字符串 TTL KV(stdlib-only):单机内存模式的共享存储原语。
Package memkv 进程内字符串 TTL KV(stdlib-only):单机内存模式的共享存储原语。
redisshim
Package redisshim 单机内存模式下 go-redis 命令面的等价实现(memkv.Store 的 redis 兼容垫片):redis.host 为空时 anonymous/presign 等域的 NewService 以此 兜底,取件码映射/直传会话等短 TTL 数据存进程内——不跨进程共享、重启即失, DB 仍是唯一真相源。
Package redisshim 单机内存模式下 go-redis 命令面的等价实现(memkv.Store 的 redis 兼容垫片):redis.host 为空时 anonymous/presign 等域的 NewService 以此 兜底,取件码映射/直传会话等短 TTL 数据存进程内——不跨进程共享、重启即失, DB 仍是唯一真相源。
Package metrics 业务指标(治理 2026-10-03)。
Package metrics 业务指标(治理 2026-10-03)。
auditactor.go 审计操作者提取:从请求上下文取 (用户ID, 用户名, IP)。
auditactor.go 审计操作者提取:从请求上下文取 (用户ID, 用户名, IP)。
Package security 提供独立的安全原语:
Package security 提供独立的安全原语:
Package transfer 提供传输日志(上传/下载)的异步记录。
Package transfer 提供传输日志(上传/下载)的异步记录。
uploadpath.go 上传相对路径的统一生成收口。
uploadpath.go 上传相对路径的统一生成收口。

Jump to

Keyboard shortcuts

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