Documentation ¶
Index ¶
- Constants
- func GetBytes(ctx context.Context, targetUrl string, options ...*Options[any, []byte]) ([]byte, error)
- func GetJson[Response any](ctx context.Context, targetUrl string, options ...*Options[any, Response]) (Response, error)
- func GetString(ctx context.Context, targetUrl string, options ...*Options[any, []byte]) (string, error)
- func GetYaml[Response any](ctx context.Context, targetUrl string, options ...*Options[any, Response]) (Response, error)
- func PostJson[Request any, Response any](ctx context.Context, targetUrl string, request Request, ...) (Response, error)
- func SendRequest[Request any, Response any](ctx context.Context, options *Options[Request, Response]) (Response, error)
- type Options
- func (x *Options[Request, Response]) AppendRequestSetting(requestSetting RequestSetting) *Options[Request, Response]
- func (x *Options[Request, Response]) WithBody(body []byte) *Options[Request, Response]
- func (x *Options[Request, Response]) WithJsonResponseHandler() *Options[Request, Response]
- func (x *Options[Request, Response]) WithMaxTryTimes(maxTryTimes int) *Options[Request, Response]
- func (x *Options[Request, Response]) WithMethod(method string) *Options[Request, Response]
- func (x *Options[Request, Response]) WithRequestSettingSlice(requestSettingSlice []RequestSetting) *Options[Request, Response]
- func (x *Options[Request, Response]) WithResponseHandler(responseHandler ResponseHandler[Response]) *Options[Request, Response]
- func (x *Options[Request, Response]) WithTargetURL(targetURL string) *Options[Request, Response]
- func (x *Options[Request, Response]) WithYamlResponseHandler() *Options[Request, Response]
- type RequestSetting
- type ResponseHandler
- func BytesResponseHandler(readResponseOnStatusCodeIn ...int) ResponseHandler[[]byte]
- func JsonResponseHandler[Response any](readResponseOnStatusCodeIn ...int) ResponseHandler[Response]
- func StringResponseHandler(readResponseOnStatusCodeIn ...int) ResponseHandler[string]
- func YamlResponseHandler[Response any](readResponseOnStatusCodeIn ...int) ResponseHandler[Response]
Constants ¶
View Source
const DefaultMaxTryTimes = 3
DefaultMaxTryTimes 默认情况下的最大重试次数
View Source
const DefaultMethod = http.MethodGet
View Source
const DefaultUserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36"
Variables ¶
This section is empty.
Functions ¶
func GetJson ¶
func GetJson[Response any](ctx context.Context, targetUrl string, options ...*Options[any, Response]) (Response, error)
GetJson 响应内容是JSON格式的
func GetYaml ¶
func GetYaml[Response any](ctx context.Context, targetUrl string, options ...*Options[any, Response]) (Response, error)
GetYaml 响应内容是YAML格式的
Types ¶
type Options ¶
type Options[Request any, Response any] struct { MaxTryTimes int TargetURL string Method string Body []byte RequestSettingSlice []RequestSetting ResponseHandler ResponseHandler[Response] }
func NewOptions ¶
func NewOptions[Request any, Response any](targetUrl string, responseHandler ResponseHandler[Response]) *Options[Request, Response]
func (*Options[Request, Response]) AppendRequestSetting ¶
func (x *Options[Request, Response]) AppendRequestSetting(requestSetting RequestSetting) *Options[Request, Response]
func (*Options[Request, Response]) WithJsonResponseHandler ¶
func (*Options[Request, Response]) WithMaxTryTimes ¶
func (*Options[Request, Response]) WithMethod ¶
func (*Options[Request, Response]) WithRequestSettingSlice ¶
func (x *Options[Request, Response]) WithRequestSettingSlice(requestSettingSlice []RequestSetting) *Options[Request, Response]
func (*Options[Request, Response]) WithResponseHandler ¶
func (x *Options[Request, Response]) WithResponseHandler(responseHandler ResponseHandler[Response]) *Options[Request, Response]
func (*Options[Request, Response]) WithTargetURL ¶
func (*Options[Request, Response]) WithYamlResponseHandler ¶
type RequestSetting ¶
func DefaultRequestSetting ¶
func DefaultRequestSetting() RequestSetting
DefaultRequestSetting 每个请求默认添加的设置
func RequestSettingProxy ¶
func RequestSettingProxy(proxy string) RequestSetting
RequestSettingProxy 配置代理IP
func RequestSettingSkipTlsVerify ¶
func RequestSettingSkipTlsVerify() RequestSetting
RequestSettingSkipTlsVerify 跳过https证书验证
func RequestSettingUserAgent ¶
func RequestSettingUserAgent(userAgent ...string) RequestSetting
RequestSettingUserAgent 设置User-Agent,如果不传递的则使用默认的User-Agent
type ResponseHandler ¶
func BytesResponseHandler ¶
func BytesResponseHandler(readResponseOnStatusCodeIn ...int) ResponseHandler[[]byte]
func JsonResponseHandler ¶
func JsonResponseHandler[Response any](readResponseOnStatusCodeIn ...int) ResponseHandler[Response]
func StringResponseHandler ¶
func StringResponseHandler(readResponseOnStatusCodeIn ...int) ResponseHandler[string]
func YamlResponseHandler ¶
func YamlResponseHandler[Response any](readResponseOnStatusCodeIn ...int) ResponseHandler[Response]
Source Files ¶
Click to show internal directories.
Click to hide internal directories.