Documentation
¶
Index ¶
- type Client
- func (req *Client) Connect(ctx context.Context, url string, opts ...DialOption) (*Response, error)
- func (req *Client) Delete(ctx context.Context, url string, opts ...DialOption) (*Response, error)
- func (req *Client) Do(ctx context.Context, method, url string, opts ...DialOption) (*Response, error)
- func (req *Client) Get(ctx context.Context, url string, opts ...DialOption) (*Response, error)
- func (req *Client) Head(ctx context.Context, url string, opts ...DialOption) (*Response, error)
- func (req *Client) Options(ctx context.Context, url string, opts ...DialOption) (*Response, error)
- func (req *Client) Patch(ctx context.Context, url string, opts ...DialOption) (*Response, error)
- func (req *Client) Post(ctx context.Context, url string, opts ...DialOption) (*Response, error)
- func (req *Client) Put(ctx context.Context, url string, opts ...DialOption) (*Response, error)
- func (req *Client) Trace(ctx context.Context, url string, opts ...DialOption) (*Response, error)
- type DialOption
- func WithBody(body io.Reader) DialOption
- func WithClient(clients ...*http.Client) DialOption
- func WithCookies(cookies ...*http.Cookie) DialOption
- func WithDebug(debug bool) DialOption
- func WithFile(file *File) DialOption
- func WithForm(form Value) DialOption
- func WithHeaders(headers Value) DialOption
- func WithJSON(data interface{}) DialOption
- func WithMiddleware(middles ...Middleware) DialOption
- func WithParam(query Value) DialOption
- func WithQuery(i interface{}) DialOption
- func WithRetry(retries ...Retry) DialOption
- func WithSession(session bool) DialOption
- func WithTrace(trace *httptrace.ClientTrace) DialOption
- func WithXML(data interface{}) DialOption
- type File
- type Handler
- type Http
- type Middleware
- type Response
- func Connect(ctx context.Context, url string, opts ...DialOption) (*Response, error)
- func Delete(ctx context.Context, url string, opts ...DialOption) (*Response, error)
- func Do(ctx context.Context, method, url string, opts ...DialOption) (*Response, error)
- func Get(ctx context.Context, url string, opts ...DialOption) (*Response, error)
- func Head(ctx context.Context, url string, opts ...DialOption) (*Response, error)
- func Options(ctx context.Context, url string, opts ...DialOption) (*Response, error)
- func Patch(ctx context.Context, url string, opts ...DialOption) (*Response, error)
- func Post(ctx context.Context, url string, opts ...DialOption) (*Response, error)
- func Put(ctx context.Context, url string, opts ...DialOption) (*Response, error)
- func Trace(ctx context.Context, url string, opts ...DialOption) (*Response, error)
- type Retry
- type RetryCondition
- type RetryPolicy
- type Value
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
func New ¶
func New(opts ...DialOption) *Client
init request client eg: New(WithClient(http.DefaultClient))
type DialOption ¶
type DialOption func(opts *dialOptions)
func WithClient ¶
func WithClient(clients ...*http.Client) DialOption
设置请求client 一般在创建一个requests的时候才使用 中间件中也可以直接替换一个client
func WithForm ¶
func WithForm(form Value) DialOption
func WithJSON ¶
func WithJSON(data interface{}) DialOption
func WithMiddleware ¶
func WithMiddleware(middles ...Middleware) DialOption
添加中间件 中间件中可以获取到client,Request, Response对象,所以可以对请求做很多的操作
func WithParam ¶
func WithParam(query Value) DialOption
func WithQuery ¶
func WithQuery(i interface{}) DialOption
直接传递一个结构体指针作为query参数 注意: 1. 支持map、struct,其他的类型会直接panic,struct使用`form`指定字段名称,未指定的使用默认值 2. 支持匿名嵌套,但不支持命名嵌套,内容不会解析,直接变成一个字符串
func WithSession ¶
func WithSession(session bool) DialOption
是否清空cookies 如果设置成true,后续的请求都会带上前面请求返回的cookie,所以不要随便设置,只有在确实需要的时候再设置
func WithXML ¶
func WithXML(data interface{}) DialOption
type Http ¶
type Http interface { Get(ctx context.Context, url string, opts ...DialOption) (*Response, error) Post(ctx context.Context, url string, opts ...DialOption) (*Response, error) Put(ctx context.Context, url string, opts ...DialOption) (*Response, error) Patch(ctx context.Context, url string, opts ...DialOption) (*Response, error) Delete(ctx context.Context, url string, opts ...DialOption) (*Response, error) Head(ctx context.Context, url string, opts ...DialOption) (*Response, error) Connect(ctx context.Context, url string, opts ...DialOption) (*Response, error) Options(ctx context.Context, url string, opts ...DialOption) (*Response, error) Trace(ctx context.Context, url string, opts ...DialOption) (*Response, error) Do(ctx context.Context, method, url string, opts ...DialOption) (*Response, error) }
type Middleware ¶
type Retry ¶
type Retry interface { MaxEntries() int WaitTime() time.Duration MaxWaitTime() time.Duration RetryConditions() []RetryCondition RetryPolicy() RetryPolicy }
type RetryPolicy ¶
Source Files
¶
Click to show internal directories.
Click to hide internal directories.