request

package module
v1.0.2 Latest Latest
Warning

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

Go to latest
Published: Mar 8, 2022 License: Apache-2.0 Imports: 16 Imported by: 0

README

request

http request client

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	HTTPTimeout        HTTPTimeout // HTTP的超时时间设置
	UseProxy           bool        // 是否使用代理
	ProxyHost          string      // 代理服务器地址
	IsAuthProxy        bool        // 代理服务器是否使用用户认证
	ProxyUser          string      // 代理服务器认证用户名
	ProxyPassword      string      // 代理服务器认证密码
	ReUseTCP           bool        // 为同一地址多次请求复用TCP连接
	InsecureSkipVerify bool        // 忽略证书验证
}

Config configure

func NewConfig

func NewConfig() *Config

type File

type File struct {
	FieldName string
	Path      string
}

type HTTPTimeout

type HTTPTimeout struct {
	ConnectTimeout time.Duration
	ReadTimeout    time.Duration
	WriteTimeout   time.Duration
	HeaderTimeout  time.Duration
	MaxTimeout     time.Duration
}

HTTPTimeout http timeout

type Option

type Option func(request *Request)

func DisableNon20xIsError added in v0.0.3

func DisableNon20xIsError() Option

func WithBasicAuth

func WithBasicAuth(username, password string) Option

func WithBodyFiles

func WithBodyFiles(files []File, fieldsKeyPairs ...string) Option

func WithBodyForm

func WithBodyForm(keyPairs ...string) Option

func WithBodyJson

func WithBodyJson(body interface{}, escape ...bool) Option

func WithClient

func WithClient(client *http.Client) Option

func WithConfig

func WithConfig(config *Config) Option

func WithHeader

func WithHeader(keyPairs ...string) Option

func WithMethodConnect

func WithMethodConnect() Option

func WithMethodDelete

func WithMethodDelete() Option

func WithMethodHead

func WithMethodHead() Option

func WithMethodOptions

func WithMethodOptions() Option

func WithMethodPatch

func WithMethodPatch() Option

func WithMethodPost

func WithMethodPost() Option

func WithMethodPut

func WithMethodPut() Option

func WithMethodTrace

func WithMethodTrace() Option

func WithQuery

func WithQuery(keyPairs ...string) Option

func WithResponseBodyToJson

func WithResponseBodyToJson(unwrapTarget interface{}) Option

func WithResponseBodyWriteTo

func WithResponseBodyWriteTo(responseBodyWriteTo io.ReadWriter) Option

func WithRetry added in v1.0.1

func WithRetry(retryTimes uint8, retryInterval time.Duration) Option

func WithRetryTimes

func WithRetryTimes(retryTimes uint8) Option

type Request

type Request struct {
	// contains filtered or unexported fields
}

func CONNECT added in v0.0.4

func CONNECT(rawURL string, options ...Option) (*Request, error)

func DELETE added in v0.0.4

func DELETE(rawURL string, options ...Option) (*Request, error)

func Do

func Do(rawURL string, options ...Option) (*Request, error)

func GET added in v1.0.1

func GET(rawURL string, options ...Option) (*Request, error)
func HEAD(rawURL string, options ...Option) (*Request, error)

func NewRequest

func NewRequest(rawURL string, options ...Option) *Request

NewRequest deprecated method

func OPTIONS

func OPTIONS(rawURL string, options ...Option) (*Request, error)

func PATCH

func PATCH(rawURL string, options ...Option) (*Request, error)

func POST

func POST(rawURL string, options ...Option) (*Request, error)

func PUT

func PUT(rawURL string, options ...Option) (*Request, error)

func TRACE added in v0.0.4

func TRACE(rawURL string, options ...Option) (*Request, error)

func (*Request) Do

func (r *Request) Do() (statusCode int, err error)

func (*Request) Request added in v0.0.4

func (r *Request) Request() *http.Request

func (*Request) Response added in v0.0.4

func (r *Request) Response() *http.Response

func (*Request) StatusCode

func (r *Request) StatusCode() int

type UnwrapType

type UnwrapType string
const (
	UnwrapTypeJson       UnwrapType = "Json"
	UnwrapTypeReadWriter UnwrapType = "ReadWriter"
)

Jump to

Keyboard shortcuts

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