client_generic

package
v1.5.0 Latest Latest
Warning

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

Go to latest
Published: Apr 28, 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 CustomizeGet

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

Deprecated

func GetSubData

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

func SimpleGet

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

Types

type Option

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

type Request

type Request[RES any] client.Request

Request ...

func New

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

func NewByRequest

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

func NewGetRequest

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

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

func (*Request[RES]) CachedHeader

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

func (*Request[RES]) Client added in v1.2.12

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 added in v1.2.12

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

func (*Request[RES]) DisableLog

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

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

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

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

func (*Request[RES]) LogLevel

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

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

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

func (*Request[RES]) Method

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

func (*Request[RES]) Origin

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

func (*Request[RES]) Post

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

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

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

func (*Request[RES]) ResponseHandler

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

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

func (*Request[RES]) RetryHandler

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

func (*Request[RES]) RetryTimes

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

func (*Request[RES]) RetryTimesWithInterval

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

func (*Request[RES]) SetRequest

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

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

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

func (*Request[RES]) Timeout

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

func (*Request[RES]) Url

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

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

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