辅助中间件
HTTP 工具
xHttp 提供请求头常量与 Token 解析能力
HTTP 工具
xHttp 提供常见请求头常量与 Token 解析工具,便于在 Gin 请求中统一读取。
import xHttp "github.com/bamboo-services/bamboo-base-go/major/http"快速使用
// 解析 Authorization
authorization, err := xHttp.GetAuthorization(c)
// 获取自定义 Token
accessToken := xHttp.GetToken(c, xHttp.HeaderAuthorization)Header 类型
Header 是对 HTTP 头字段名称的类型封装,便于复用常用标头。
字段
类型
常用 Header 常量
覆盖常见请求头、响应头与自定义头字段:
xHttp.HeaderAuthorization
xHttp.HeaderRefreshToken
xHttp.HeaderRequestUUID
xHttp.HeaderContentType
xHttp.HeaderXForwardedForHeader 方法
xHttp.HeaderAuthorization.String() // "Authorization"
xHttp.Header("X-Trace-Id").IsCustom() // true
xHttp.Header("").IsEmpty() // trueString():返回标准字符串名称IsEmpty():判断是否为空IsCustom():判断是否为自定义标头(X-/x-前缀)
GetAuthorization
从请求头中解析 Authorization,要求为 Bearer <token> 格式:
token, err := xHttp.GetAuthorization(c)
if err != nil {
return err
}错误场景:
- 缺少
Authorization请求头 - 请求头格式不是
Bearer <token>
GetToken
根据指定的头字段读取 Token(支持 Authorization / X-Refresh-Token):
accessToken := xHttp.GetToken(c, xHttp.HeaderAuthorization)
refreshToken := xHttp.GetToken(c, xHttp.HeaderRefreshToken)行为说明:
- 非
HeaderAuthorization/HeaderRefreshToken会回退到HeaderAuthorization - 识别并剥离
Bearer前缀 - 不做有效性校验,缺失时返回空字符串