竹简文档
辅助中间件

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.HeaderXForwardedFor

Header 方法

xHttp.HeaderAuthorization.String() // "Authorization"

xHttp.Header("X-Trace-Id").IsCustom() // true
xHttp.Header("").IsEmpty()            // true
  • String():返回标准字符串名称
  • 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 前缀
  • 不做有效性校验,缺失时返回空字符串

On this page