ghttp

package module
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Jan 16, 2025 License: Apache-2.0 Imports: 5 Imported by: 0

README

简介

Golang之http客户端

作者

京城郭少

Example

入门:

client := ghttp.Client{
    Method: ghttp.MethodGet,
    Url:    "https://www.baidu.com",
}
res, err := client.Do()
if err != nil {
    fmt.Println(err)
    return
}
fmt.Println(res.Detail.StatusCode)

请求失败则自动重试 (依赖"github.com/avast/retry-go"):

package main

import (
	"errors"
	"fmt"
	"github.com/GuoFlight/ghttp"
	"github.com/avast/retry-go"
)

func main() {
	client := ghttp.Client{
		Method: ghttp.MethodGet,
		Url:    "https://www.baidu.com",
		Retry: ghttp.Retry{
			JudgeRetryFunc: func(res *ghttp.Res) error {
				return errors.New("error")		//模拟错误
			},
			Options: []retry.Option{
				retry.Attempts(2),			//最多重试2次
			},
		},
	}
	res, err := client.Do()
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println(res.Detail.StatusCode)
}

Documentation

Index

Constants

View Source
const (
	MethodGet     = "GET"
	MethodHead    = "HEAD"
	MethodPost    = "POST"
	MethodPut     = "PUT"
	MethodPatch   = "PATCH" // RFC 5789
	MethodDelete  = "DELETE"
	MethodConnect = "CONNECT"
	MethodOptions = "OPTIONS"
	MethodTrace   = "TRACE"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	Method    string
	Host      string
	Url       string
	Header    map[string]string
	ReqBody   string
	UrlArgs   map[string]string
	Transport http.RoundTripper
	Retry
}

func (*Client) Do

func (my *Client) Do() (Res, error)

type JudgeRetryFunc

type JudgeRetryFunc func(res *Res) error

type Res

type Res struct {
	Body   []byte
	Detail *http.Response
}

type Retry

type Retry struct {
	JudgeRetryFunc
	Options []retry.Option
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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