httpclient

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Sep 28, 2023 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

View Source
const (
	EncodeJson    = "_json"
	EncodeForm    = "_form"
	EncodeRaw     = "_raw"
	EncodeRawByte = "_raw_byte"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type ApiClient

type ApiClient struct {
	BaseUrl         string        `yaml:"baseUrl" json:"baseUrl"`
	ConnectTimeout  time.Duration `yaml:"connectTimeout" json:"connectTimeout"`
	Timeout         time.Duration `yaml:"timeout" json:"timeout"`
	Retry           int           `yaml:"retry" json:"retry"`
	Proxy           string        `yaml:"proxy" json:"proxy"`
	MaxIdleConns    int           `yaml:"maxIdleConns" json:"maxIdleConns"`
	IdleConnTimeout time.Duration `yaml:"idleConnTimeout" json:"idleConnTimeout"`
	BasicAuth       struct {
		Username string `yaml:"userName" json:"username"`
		Password string `yaml:"password" json:"password"`
	}
	// contains filtered or unexported fields
}

func (*ApiClient) Request

func (client *ApiClient) Request(ctx *gin.Context, opts RequestOption, out interface{}) (err error)

type BackOffPolicy

type BackOffPolicy func(attemptCount int) time.Duration

BackOffPolicy 重试策略

type RequestOption

type RequestOption struct {
	Method        string            `json:"method"`
	Path          string            `json:"path"`
	RequestBody   interface{}       `json:"requestBody"`
	Encode        string            `json:"encode"`
	ContentType   string            `json:"contentType"`
	Headers       map[string]string `json:"headers"`
	Cookies       map[string]string `json:"cookies"`
	RetryPolicy   RetryPolicy       `json:"-"`
	BackOffPolicy BackOffPolicy     `json:"-"`
}

func (*RequestOption) GetBackOffPolicy

func (o *RequestOption) GetBackOffPolicy() BackOffPolicy

func (*RequestOption) GetRetryPolicy

func (o *RequestOption) GetRetryPolicy() RetryPolicy

type RetryPolicy

type RetryPolicy func(resp *http.Response, err error) bool

RetryPolicy retry 策略

Jump to

Keyboard shortcuts

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