Documentation
¶
Index ¶
- func WithSign(client *HTTPClient, secret string)
- type AfterHandler
- type BeforeHandler
- type Context
- func (ctx *Context) Error() error
- func (ctx *Context) IsOK() bool
- func (ctx *Context) IsTimeout() bool
- func (ctx *Context) Request() *http.Request
- func (ctx *Context) Response() *http.Response
- func (ctx *Context) ToBytes() ([]byte, error)
- func (ctx *Context) ToJSON(out interface{}) error
- func (ctx *Context) ToString() (string, error)
- type HTTPClient
- func NewClient() *HTTPClient
- func WithBody(body map[string]interface{}) *HTTPClient
- func WithCache(isCache bool) *HTTPClient
- func WithCacheTTL(ttl time.Duration) *HTTPClient
- func WithContextTypeJSON() *HTTPClient
- func WithContextTypeURLEncoded() *HTTPClient
- func WithCookie(cookies ...*http.Cookie) *HTTPClient
- func WithDebug(isDebug bool) *HTTPClient
- func WithDefaultCache(isCache bool) *HTTPClient
- func WithDefaultHeaders(headers map[string]string) *HTTPClient
- func WithDialTimeout(timeout time.Duration) *HTTPClient
- func WithHeader(k, v string) *HTTPClient
- func WithHeaders(headers map[string]string) *HTTPClient
- func WithLock() *HTTPClient
- func WithLogger(logger zerologger.Logger) *HTTPClient
- func WithParams(params map[string]interface{}) *HTTPClient
- func WithProxy(proxy string) *HTTPClient
- func WithTimeout(timeout time.Duration) *HTTPClient
- func (client *HTTPClient) Body() map[string]interface{}
- func (client *HTTPClient) Connect(url string) *Context
- func (client *HTTPClient) DelectCache(key string)
- func (client *HTTPClient) Delete(url string) *Context
- func (client *HTTPClient) Get(url string) *Context
- func (client *HTTPClient) Options(url string) *Context
- func (client *HTTPClient) Params() map[string]interface{}
- func (client *HTTPClient) Patch(url string) *Context
- func (client *HTTPClient) Post(url string) *Context
- func (client *HTTPClient) Put(url string) *Context
- func (client *HTTPClient) ToURLValues(kv map[string]interface{}) (url.Values, error)
- func (client *HTTPClient) Trace(url string) *Context
- func (client *HTTPClient) WithAfters(handlers ...AfterHandler) *HTTPClient
- func (client *HTTPClient) WithBefores(handlers ...BeforeHandler) *HTTPClient
- func (client *HTTPClient) WithBody(body map[string]interface{}) *HTTPClient
- func (client *HTTPClient) WithCache(isCache bool) *HTTPClient
- func (client *HTTPClient) WithCacheKey(cacheKey string) *HTTPClient
- func (client *HTTPClient) WithCacheTTL(ttl time.Duration) *HTTPClient
- func (client *HTTPClient) WithContextTypeJSON() *HTTPClient
- func (client *HTTPClient) WithContextTypeURLEncoded() *HTTPClient
- func (client *HTTPClient) WithCookie(cookies ...*http.Cookie) *HTTPClient
- func (client *HTTPClient) WithDebug(isDebug bool) *HTTPClient
- func (client *HTTPClient) WithDefaultAfters(handler ...AfterHandler) *HTTPClient
- func (client *HTTPClient) WithDefaultBefores(handlers ...BeforeHandler) *HTTPClient
- func (client *HTTPClient) WithDefaultCache(isCache bool) *HTTPClient
- func (client *HTTPClient) WithDefaultHeaders(headers map[string]string) *HTTPClient
- func (client *HTTPClient) WithDialTimeout(timeout time.Duration) *HTTPClient
- func (client *HTTPClient) WithHeader(k, v string) *HTTPClient
- func (client *HTTPClient) WithHeaders(headers map[string]string) *HTTPClient
- func (client *HTTPClient) WithLock() *HTTPClient
- func (client *HTTPClient) WithLogger(logger zerologger.Logger) *HTTPClient
- func (client *HTTPClient) WithParams(params map[string]interface{}) *HTTPClient
- func (client *HTTPClient) WithProxy(proxy string) *HTTPClient
- func (client *HTTPClient) WithTimeout(timeout time.Duration) *HTTPClient
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func WithSign ¶ added in v0.30.6
func WithSign(client *HTTPClient, secret string)
WithSign 自动签名中间件,自动添加 timestamp, nonce, sign 值 secret: 签名使用,签名方式见 github.com/zerogo-hub/zero-api-middleware/sign
Types ¶
type BeforeHandler ¶ added in v0.30.6
type BeforeHandler func(client *HTTPClient, method, url string) error
BeforeHandler 执行前中间件
type HTTPClient ¶
type HTTPClient struct {
// contains filtered or unexported fields
}
HTTPClient 封装客户端,可以使用该客户端重复调用
var DefaultClient *HTTPClient
DefaultClient 默认全局对象
func WithBody ¶ added in v0.29.6
func WithBody(body map[string]interface{}) *HTTPClient
WithBody 设置 body,interface{} 可以设置为 string 或者 []string 也可以替换为 int8, []int8 等其它基础类型
func WithCacheTTL ¶ added in v0.29.6
func WithCacheTTL(ttl time.Duration) *HTTPClient
WithCacheTTL 设置缓存时长
func WithContextTypeJSON ¶ added in v0.29.6
func WithContextTypeJSON() *HTTPClient
WithContextTypeJSON 设置 Context-Type 格式
func WithContextTypeURLEncoded ¶ added in v0.29.6
func WithContextTypeURLEncoded() *HTTPClient
WithContextTypeURLEncoded 设置 Context-Type 格式
func WithCookie ¶ added in v0.29.6
func WithCookie(cookies ...*http.Cookie) *HTTPClient
WithCookie 设置本次调用的 cookie
func WithDefaultCache ¶ added in v0.29.6
func WithDefaultCache(isCache bool) *HTTPClient
WithDefaultCache 设置全局缓存开关
func WithDefaultHeaders ¶ added in v0.29.6
func WithDefaultHeaders(headers map[string]string) *HTTPClient
WithDefaultHeaders 设置默认消息头
func WithDialTimeout ¶ added in v0.29.6
func WithDialTimeout(timeout time.Duration) *HTTPClient
WithDialTimeout 设置拨号的超时时间
func WithHeaders ¶ added in v0.29.6
func WithHeaders(headers map[string]string) *HTTPClient
WithHeaders 设置本次调用的消息头
func WithLogger ¶ added in v0.29.6
func WithLogger(logger zerologger.Logger) *HTTPClient
WithLogger 设置日志
func WithParams ¶ added in v0.29.6
func WithParams(params map[string]interface{}) *HTTPClient
WithParams 设置 params
func WithTimeout ¶ added in v0.29.6
func WithTimeout(timeout time.Duration) *HTTPClient
WithTimeout 设置每次调用的超时时间
func (*HTTPClient) Body ¶ added in v0.30.6
func (client *HTTPClient) Body() map[string]interface{}
Body 获取 body
func (*HTTPClient) Params ¶ added in v0.30.6
func (client *HTTPClient) Params() map[string]interface{}
Params 获取参数
func (*HTTPClient) ToURLValues ¶ added in v0.34.9
func (client *HTTPClient) ToURLValues(kv map[string]interface{}) (url.Values, error)
ToURLValues 将 map[string]interface{} 解析成 map[string][]string
func (*HTTPClient) WithAfters ¶ added in v0.30.6
func (client *HTTPClient) WithAfters(handlers ...AfterHandler) *HTTPClient
WithAfters 设置执行后函数
func (*HTTPClient) WithBefores ¶ added in v0.30.6
func (client *HTTPClient) WithBefores(handlers ...BeforeHandler) *HTTPClient
WithBefores 设置执行前函数
func (*HTTPClient) WithBody ¶
func (client *HTTPClient) WithBody(body map[string]interface{}) *HTTPClient
WithBody 设置 body,Post, Put, Patch 时使用 body 格式: map[string]string 或者 map[string][]string
func (*HTTPClient) WithCache ¶
func (client *HTTPClient) WithCache(isCache bool) *HTTPClient
WithCache 设置缓存开关
func (*HTTPClient) WithCacheKey ¶ added in v0.30.7
func (client *HTTPClient) WithCacheKey(cacheKey string) *HTTPClient
WithCacheKey 设置缓存 key,不设置则使用默认
func (*HTTPClient) WithCacheTTL ¶
func (client *HTTPClient) WithCacheTTL(ttl time.Duration) *HTTPClient
WithCacheTTL 设置缓存时长
func (*HTTPClient) WithContextTypeJSON ¶
func (client *HTTPClient) WithContextTypeJSON() *HTTPClient
WithContextTypeJSON 设置 Context-Type 格式
func (*HTTPClient) WithContextTypeURLEncoded ¶
func (client *HTTPClient) WithContextTypeURLEncoded() *HTTPClient
WithContextTypeURLEncoded 设置 Context-Type 格式
func (*HTTPClient) WithCookie ¶
func (client *HTTPClient) WithCookie(cookies ...*http.Cookie) *HTTPClient
WithCookie 设置本次调用的 cookie
func (*HTTPClient) WithDebug ¶
func (client *HTTPClient) WithDebug(isDebug bool) *HTTPClient
WithDebug 设置调试开关
func (*HTTPClient) WithDefaultAfters ¶ added in v0.30.6
func (client *HTTPClient) WithDefaultAfters(handler ...AfterHandler) *HTTPClient
WithDefaultAfters 设置默认执行后函数
func (*HTTPClient) WithDefaultBefores ¶ added in v0.30.6
func (client *HTTPClient) WithDefaultBefores(handlers ...BeforeHandler) *HTTPClient
WithDefaultBefores 设置默认执行前函数
func (*HTTPClient) WithDefaultCache ¶
func (client *HTTPClient) WithDefaultCache(isCache bool) *HTTPClient
WithDefaultCache 设置全局缓存开关
func (*HTTPClient) WithDefaultHeaders ¶
func (client *HTTPClient) WithDefaultHeaders(headers map[string]string) *HTTPClient
WithDefaultHeaders 设置默认消息头
func (*HTTPClient) WithDialTimeout ¶
func (client *HTTPClient) WithDialTimeout(timeout time.Duration) *HTTPClient
WithDialTimeout 设置拨号的超时时间
func (*HTTPClient) WithHeader ¶
func (client *HTTPClient) WithHeader(k, v string) *HTTPClient
WithHeader 设置本次调用的消息头
func (*HTTPClient) WithHeaders ¶
func (client *HTTPClient) WithHeaders(headers map[string]string) *HTTPClient
WithHeaders 设置本次调用的消息头
func (*HTTPClient) WithLock ¶
func (client *HTTPClient) WithLock() *HTTPClient
WithLock 手动加锁,会在调用结束时自动解锁
func (*HTTPClient) WithLogger ¶
func (client *HTTPClient) WithLogger(logger zerologger.Logger) *HTTPClient
WithLogger 设置日志
func (*HTTPClient) WithParams ¶
func (client *HTTPClient) WithParams(params map[string]interface{}) *HTTPClient
WithParams 设置 params, GET, Delete 时使用
func (*HTTPClient) WithProxy ¶
func (client *HTTPClient) WithProxy(proxy string) *HTTPClient
WithProxy 设置代理地址
func (*HTTPClient) WithTimeout ¶
func (client *HTTPClient) WithTimeout(timeout time.Duration) *HTTPClient
WithTimeout 设置每次调用的超时时间