Versions in this module Expand all Collapse all v1 v1.4.3 Apr 17, 2024 Changes in this version + func ShouldRetry(err error) bool + type BasicAuth struct + type BeforeRequestHook func(cast *Cast, request *Request) error + type Cast struct + func New(sl ...Setter) (*Cast, error) + func (c *Cast) Do(ctx context.Context, request *Request) (*Response, error) + func (c *Cast) Logger() *logrus.Logger + func (c *Cast) NewRequest() *Request + func (c *Cast) SetInsecureSkipVerify(v bool) error + type Error string + func (err Error) Error() string + type FormData struct + FieldName string + FileName string + Path string + Reader io.Reader + Value string + type LogHook func(entry *logrus.Entry) + type Monitor struct + Callback LogHook + func NewMonitor(l LogHook) *Monitor + func (m *Monitor) Fire(entry *logrus.Entry) error + func (m *Monitor) Levels() []logrus.Level + type Request struct + func NewRequest() *Request + func (r *Request) AddHeader(vv ...string) + func (r *Request) Connect() *Request + func (r *Request) Delete() *Request + func (r *Request) Get() *Request + func (r *Request) Head() *Request + func (r *Request) HeaderExist(h string) bool + func (r *Request) Method(method string) *Request + func (r *Request) Options() *Request + func (r *Request) Patch() *Request + func (r *Request) Post() *Request + func (r *Request) Put() *Request + func (r *Request) RawRequest() *http.Request + func (r *Request) ReqBody() ([]byte, error) + func (r *Request) SetHeader(vv ...string) *Request + func (r *Request) Trace() *Request + func (r *Request) WithCircuit(name string) *Request + func (r *Request) WithCustomBody(contentType string, body []byte) *Request + func (r *Request) WithFormURLEncodedBody(body interface{}) *Request + func (r *Request) WithHeader(header http.Header) *Request + func (r *Request) WithJSONBody(body interface{}) *Request + func (r *Request) WithMultipartFormDataBody(formData ...*FormData) *Request + func (r *Request) WithPath(path string) *Request + func (r *Request) WithPathParam(pathParam map[string]interface{}) *Request + func (r *Request) WithPlainBody(body string) *Request + func (r *Request) WithQueryParam(queryParam interface{}) *Request + func (r *Request) WithTimeout(timeout time.Duration) *Request + func (r *Request) WithXMLBody(body interface{}) *Request + type RequestHook func(cast *Cast, request *Request) error + type Response struct + func (resp *Response) AddHeader(vv ...string) *Response + func (resp *Response) Body() []byte + func (resp *Response) Cookies() []*http.Cookie + func (resp *Response) DecodeFromJSON(v interface{}) error + func (resp *Response) DecodeFromXML(v interface{}) error + func (resp *Response) Header() http.Header + func (resp *Response) Method() string + func (resp *Response) SetHeader(vv ...string) *Response + func (resp *Response) Size() int64 + func (resp *Response) StatusCode() int + func (resp *Response) StatusOk() bool + func (resp *Response) String() string + func (resp *Response) Success() bool + func (resp *Response) URL() string + type RetryHook func(response *Response, err error) bool + type Setter func(cast *Cast) error + func AddBeforeRequestHook(hks ...BeforeRequestHook) Setter + func AddCircuitConfig(name string, config ...circuit.Config) Setter + func AddHeader(vv ...string) Setter + func AddRequestHook(hks ...RequestHook) Setter + func AddResponseHooks(hooks ...responseHook) Setter + func AddRetryHooks(hooks ...RetryHook) Setter + func SetHeader(vv ...string) Setter + func WithBaseURL(url string) Setter + func WithBasicAuth(username, password string) Setter + func WithBearerToken(token string) Setter + func WithConstantBackoffStrategy(internal time.Duration) Setter + func WithCookies(cookies ...*http.Cookie) Setter + func WithDefaultCircuit(name string) Setter + func WithExponentialBackoffDecorrelatedJitterStrategy(base, capacity time.Duration) Setter + func WithExponentialBackoffEqualJitterStrategy(base, capacity time.Duration) Setter + func WithExponentialBackoffFullJitterStrategy(base, capacity time.Duration) Setter + func WithExponentialBackoffStrategy(base, capacity time.Duration) Setter + func WithHTTPClientTimeout(timeout time.Duration) Setter + func WithHeader(h http.Header) Setter + func WithLinearBackoffStrategy(slope time.Duration) Setter + func WithLogHook(f LogHook) Setter + func WithLogLevel(l logrus.Level) Setter + func WithRetry(retry int) Setter