client

package
v1.11.3 Latest Latest
Warning

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

Go to latest
Published: Jun 8, 2024 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CommonResponse

func CommonResponse[RES any]() client.ResponseBodyCheck

func CommonResponse2

func CommonResponse2[RES any]() client.ResponseBodyCheck

func DoGet added in v1.8.12

func DoGet[RES any](url string) (*RES, error)

func GetSubData

func GetSubData[RES ResponseInterface[T], T any](url string) (T, error)

func OptionGet added in v1.7.8

func OptionGet[RES ResponseInterface[T], T any](options ...client.Option) func(url string) (T, error)

Types

type Option added in v1.7.8

type Option[RES any] func(req *Request[RES])

type Request

type Request[RES any] client.Request

Request ...

func New added in v1.7.8

func New[RES any]() *Request[RES]

func NewByRequest added in v1.7.8

func NewByRequest[RES any](req *client.Request) *Request[RES]

func NewGetRequest added in v1.7.8

func NewGetRequest[RES any](url string) *Request[RES]

func NewRequest

func NewRequest[RES any](url string, method string) *Request[RES]

func (*Request[RES]) AddHeader

func (req *Request[RES]) AddHeader(k, v string) *Request[RES]

func (*Request[RES]) BasicAuth added in v1.7.8

func (req *Request[RES]) BasicAuth(authUser, authPass string)

func (*Request[RES]) CachedHeader added in v1.7.8

func (req *Request[RES]) CachedHeader(key string) *Request[RES]

func (*Request[RES]) Client

func (req *Request[RES]) Client(c *http.Client) *Request[RES]

func (*Request[RES]) ContentType

func (req *Request[RES]) ContentType(contentType client.ContentType) *Request[RES]

func (*Request[RES]) Context

func (req *Request[RES]) Context(ctx context.Context) *Request[RES]

func (*Request[RES]) DisableLog added in v1.7.8

func (req *Request[RES]) DisableLog() *Request[RES]

func (*Request[RES]) Do

func (r *Request[RES]) Do(req any) (*RES, error)

Do create a HTTP request

func (*Request[RES]) Get added in v1.7.8

func (r *Request[RES]) Get(url string) (*RES, error)

func (*Request[RES]) Header added in v1.7.8

func (req *Request[RES]) Header(header client.Header) *Request[RES]

func (*Request[RES]) LogLevel added in v1.7.8

func (req *Request[RES]) LogLevel(lvl client.LogLevel) *Request[RES]

func (*Request[RES]) Logger added in v1.7.8

func (req *Request[RES]) Logger(logger client.AccessLog) *Request[RES]

func (*Request[RES]) Method added in v1.7.8

func (req *Request[RES]) Method(method string) *Request[RES]

func (*Request[RES]) Origin

func (req *Request[RES]) Origin() *client.Request

func (*Request[RES]) Post added in v1.7.8

func (r *Request[RES]) Post(url string, param any) (*RES, error)

func (*Request[RES]) Proxy added in v1.7.8

func (req *Request[RES]) Proxy(url string) *Request[RES]

func (*Request[RES]) ResponseHandler added in v1.7.8

func (req *Request[RES]) ResponseHandler(handler func(response *http.Response) (retry bool, data []byte, err error)) *Request[RES]

handler 返回值:是否重试,返回数据,错误

func (*Request[RES]) RetryHandler added in v1.7.8

func (req *Request[RES]) RetryHandler(handle func(*client.Request)) *Request[RES]

func (*Request[RES]) RetryTimes added in v1.7.8

func (req *Request[RES]) RetryTimes(retryTimes int) *Request[RES]

func (*Request[RES]) RetryTimesWithInterval added in v1.7.8

func (req *Request[RES]) RetryTimesWithInterval(retryTimes int, retryInterval time.Duration) *Request[RES]

func (*Request[RES]) SetRequest added in v1.7.8

func (req *Request[RES]) SetRequest(handle func(*client.Request)) *Request[RES]

func (*Request[RES]) Tag added in v1.7.8

func (req *Request[RES]) Tag(tag string) *Request[RES]

func (*Request[RES]) Timeout added in v1.7.8

func (req *Request[RES]) Timeout(timeout time.Duration) *Request[RES]

func (*Request[RES]) Url added in v1.7.8

func (req *Request[RES]) Url(url string) *Request[RES]

type ResponseBody

type ResponseBody[RES any] struct {
	Status  int    `json:"status"`
	Data    RES    `json:"data"`
	Message string `json:"message"`
}

func (*ResponseBody[RES]) CheckError

func (res *ResponseBody[RES]) CheckError() error

type ResponseBody2

type ResponseBody2[RES any] struct {
	Code int    `json:"code"`
	Msg  string `json:"msg"`
	Data RES    `json:"data"`
}

func (*ResponseBody2[RES]) CheckError

func (res *ResponseBody2[RES]) CheckError() error

func (*ResponseBody2[RES]) GetData

func (res *ResponseBody2[RES]) GetData() *RES

type ResponseInterface

type ResponseInterface[T any] interface {
	client.ResponseBodyCheck
	GetData() T
}

type SubDataRequest

type SubDataRequest[RES ResponseInterface[T], T any] Request[RES]

一个语法糖,一般不用

func NewSubDataRequestParams added in v1.7.8

func NewSubDataRequestParams[RES ResponseInterface[T], T any](req *client.Request) *SubDataRequest[RES, T]

func (*SubDataRequest[RES, T]) Do

func (r *SubDataRequest[RES, T]) Do(req any) (T, error)

Do create a HTTP request

func (*SubDataRequest[RES, T]) Get added in v1.7.8

func (req *SubDataRequest[RES, T]) Get(url string) (T, error)

func (*SubDataRequest[RES, T]) Origin

func (req *SubDataRequest[RES, T]) Origin() *client.Request

Jump to

Keyboard shortcuts

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