Documentation
¶
Index ¶
- Constants
- Variables
- func ClientRequestHost(c *gin.Context) string
- func ClientRequestUrl(c *gin.Context) string
- func CloneHeader(c *gin.Context, header http.Header)
- func ExtractReqBody(c *gin.Context) ([]byte, error)
- func IsErrorCode(code int) bool
- func IsErrorResponse(c *gin.Context) bool
- func IsRedirectCode(code int) bool
- func IsSuccessCode(code int) bool
- func MapBody(body map[string]any) io.ReadCloser
- func ProxyPass(c *gin.Context, remote string) error
- func ProxyRequest(c *gin.Context, remote string) (*http.Response, error)
- type CacheClient
- type RequestHolder
- func (r *RequestHolder) AddHeader(key, value string) *RequestHolder
- func (r *RequestHolder) Body(body io.ReadCloser) *RequestHolder
- func (r *RequestHolder) Do() (*http.Response, error)
- func (r *RequestHolder) DoRedirect() (string, *http.Response, error)
- func (r *RequestHolder) DoSingle() (*http.Response, error)
- func (r *RequestHolder) Header(header http.Header) *RequestHolder
Constants ¶
View Source
const (
// MaxRedirectDepth 重定向的最大深度
MaxRedirectDepth = 10
)
Variables ¶
View Source
var RedirectCodes = [4]int{http.StatusMovedPermanently, http.StatusFound, http.StatusTemporaryRedirect, http.StatusPermanentRedirect}
RedirectCodes 有重定向含义的 http 响应码
Functions ¶
func ClientRequestHost ¶
ClientRequestHost 获取客户端请求的 Host
func CloneHeader ¶
CloneHeader 克隆 http 头部到 gin 的响应头中
func ExtractReqBody ¶
ExtractReqBody 克隆并提取请求体 不影响 c 对象之后再次读取请求体
func IsErrorCode ¶ added in v1.15.1
IsErrorCode 判断 http code 是否为错误状态
func IsSuccessCode ¶ added in v1.3.0
IsSuccessCode 判断 http code 是否为成功状态
Types ¶
type CacheClient ¶ added in v1.8.0
type CacheClient struct {
// contains filtered or unexported fields
}
CacheClient 具有缓存功能的 http 请求客户端
func NewCacheClient ¶ added in v1.8.0
func NewCacheClient(maxCacheNum int, expiredTime time.Duration) *CacheClient
NewCacheClient 初始化一个具备缓存特性的 http 客户端
一个请求缓存的过期时间可能存在误差
func (*CacheClient) GetAllCacheUrls ¶ added in v1.16.0
func (cc *CacheClient) GetAllCacheUrls() []string
GetAllCacheUrls 获取当前缓存列表中所有的地址
func (*CacheClient) RemoveUrlCache ¶ added in v1.16.0
func (cc *CacheClient) RemoveUrlCache(url string)
RemoveUrlCache 移除指定 url 的缓存 如果缓存中不存在该 url 则不进行任何操作
type RequestHolder ¶ added in v1.22.8
type RequestHolder struct {
// contains filtered or unexported fields
}
func (*RequestHolder) AddHeader ¶ added in v1.22.8
func (r *RequestHolder) AddHeader(key, value string) *RequestHolder
AddHeader 添加请求头字段
func (*RequestHolder) Body ¶ added in v1.22.8
func (r *RequestHolder) Body(body io.ReadCloser) *RequestHolder
Body 设置请求体
func (*RequestHolder) Do ¶ added in v1.22.8
func (r *RequestHolder) Do() (*http.Response, error)
Do 发起请求 自动重定向
func (*RequestHolder) DoRedirect ¶ added in v1.22.8
func (r *RequestHolder) DoRedirect() (string, *http.Response, error)
DoRedirect 发起请求 自动重定向 获取最终地址
func (*RequestHolder) DoSingle ¶ added in v1.22.8
func (r *RequestHolder) DoSingle() (*http.Response, error)
DoSingle 发起请求 不自动重定向
func (*RequestHolder) Header ¶ added in v1.22.8
func (r *RequestHolder) Header(header http.Header) *RequestHolder
Header 设置请求头
Click to show internal directories.
Click to hide internal directories.