http

package
v11.8.3 Latest Latest
Warning

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

Go to latest
Published: Nov 17, 2023 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client interface {
	ConfigureRetries(opts RetryOptions)

	GetJSON(ctx context.Context, target interface{}, reqURL string, opts ...ClientOpt) (*http.Response, error)
	PostJSON(ctx context.Context, target interface{}, reqURL string, opts ...ClientOpt) (*http.Response, error)
	PutJSON(ctx context.Context, target interface{}, reqURL string, opts ...ClientOpt) (*http.Response, error)
	PatchJSON(ctx context.Context, target interface{}, reqURL string, opts ...ClientOpt) (*http.Response, error)
	DeleteJSON(ctx context.Context, target interface{}, reqURL string, opts ...ClientOpt) (*http.Response, error)
	RequestJSON(ctx context.Context, target interface{}, method, reqURL string, opts ...ClientOpt) (*http.Response, error)

	GetBody(ctx context.Context, reqURL string, opts ...ClientOpt) ([]byte, *http.Response, error)
	PostBody(ctx context.Context, reqURL string, opts ...ClientOpt) ([]byte, *http.Response, error)
	PutBody(ctx context.Context, reqURL string, opts ...ClientOpt) ([]byte, *http.Response, error)
	PatchBody(ctx context.Context, reqURL string, opts ...ClientOpt) ([]byte, *http.Response, error)
	DeleteBody(ctx context.Context, reqURL string, opts ...ClientOpt) ([]byte, *http.Response, error)
	RequestBody(ctx context.Context, method, reqURL string, opts ...ClientOpt) ([]byte, *http.Response, error)
}

type ClientOpt

type ClientOpt = func(req *Request) error

func WithBody

func WithBody(body io.ReadCloser) ClientOpt

func WithHeaders

func WithHeaders(headers http.Header) ClientOpt

func WithQueryParams

func WithQueryParams(params url.Values) ClientOpt

func WithResponseHandler added in v11.0.1

func WithResponseHandler(fn ResponseHandlerFunc) ClientOpt

type HTTPLogger added in v11.1.0

type HTTPLogger struct {
	Logger logging.Logger
}

func (*HTTPLogger) Debug added in v11.1.0

func (h *HTTPLogger) Debug(msg string, keysAndValues ...interface{})

func (*HTTPLogger) Error added in v11.1.0

func (h *HTTPLogger) Error(msg string, keysAndValues ...interface{})

func (*HTTPLogger) Info added in v11.1.0

func (h *HTTPLogger) Info(msg string, keysAndValues ...interface{})

func (*HTTPLogger) Warn added in v11.1.0

func (h *HTTPLogger) Warn(msg string, keysAndValues ...interface{})

type HTTPResponseError added in v11.1.0

type HTTPResponseError struct {
	Repsonse *http.Response
	Body     []byte
	Cause    error
}

func (*HTTPResponseError) Error added in v11.1.0

func (e *HTTPResponseError) Error() string

type Request

type Request = retryablehttp.Request

type ResponseHandlerFunc added in v11.0.1

type ResponseHandlerFunc = retryablehttp.ResponseHandlerFunc

type RetryOptions

type RetryOptions struct {
	RetryWaitMin time.Duration // Minimum time to wait
	RetryWaitMax time.Duration // Maximum time to wait
	RetryMax     *int          // Maximum number of retries
}

type RoundTripper

type RoundTripper = http.RoundTripper

type TelemeterClient

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

func NewTelemeterClient

func NewTelemeterClient(logger logging.Logger, tel *telemetry.Telemeter, opts ...telemetry.StartSpanOption) *TelemeterClient

func (*TelemeterClient) ConfigureRetries

func (c *TelemeterClient) ConfigureRetries(opts RetryOptions)

func (*TelemeterClient) DeleteBody

func (c *TelemeterClient) DeleteBody(ctx context.Context, reqURL string, opts ...ClientOpt) ([]byte, *http.Response, error)

func (*TelemeterClient) DeleteJSON

func (c *TelemeterClient) DeleteJSON(ctx context.Context, target interface{}, reqURL string, opts ...ClientOpt) (*http.Response, error)

func (*TelemeterClient) GetBody

func (c *TelemeterClient) GetBody(ctx context.Context, reqURL string, opts ...ClientOpt) ([]byte, *http.Response, error)

func (*TelemeterClient) GetJSON

func (c *TelemeterClient) GetJSON(ctx context.Context, target interface{}, reqURL string, opts ...ClientOpt) (*http.Response, error)

func (*TelemeterClient) HTTPClient

func (c *TelemeterClient) HTTPClient() *http.Client

func (*TelemeterClient) PatchBody

func (c *TelemeterClient) PatchBody(ctx context.Context, reqURL string, opts ...ClientOpt) ([]byte, *http.Response, error)

func (*TelemeterClient) PatchJSON

func (c *TelemeterClient) PatchJSON(ctx context.Context, target interface{}, reqURL string, opts ...ClientOpt) (*http.Response, error)

func (*TelemeterClient) PostBody

func (c *TelemeterClient) PostBody(ctx context.Context, reqURL string, opts ...ClientOpt) ([]byte, *http.Response, error)

func (*TelemeterClient) PostJSON

func (c *TelemeterClient) PostJSON(ctx context.Context, target interface{}, reqURL string, opts ...ClientOpt) (*http.Response, error)

func (*TelemeterClient) PutBody

func (c *TelemeterClient) PutBody(ctx context.Context, reqURL string, opts ...ClientOpt) ([]byte, *http.Response, error)

func (*TelemeterClient) PutJSON

func (c *TelemeterClient) PutJSON(ctx context.Context, target interface{}, reqURL string, opts ...ClientOpt) (*http.Response, error)

func (*TelemeterClient) RequestBody

func (c *TelemeterClient) RequestBody(ctx context.Context, method, reqURL string, opts ...ClientOpt) ([]byte, *http.Response, error)

func (*TelemeterClient) RequestJSON

func (c *TelemeterClient) RequestJSON(ctx context.Context, target interface{}, method, reqURL string, opts ...ClientOpt) (*http.Response, error)

type TelemeterRoundTripper

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

func (*TelemeterRoundTripper) RoundTrip

func (rt *TelemeterRoundTripper) RoundTrip(req *http.Request) (resp *http.Response, err error)

Directories

Path Synopsis
Code generated by counterfeiter.
Code generated by counterfeiter.

Jump to

Keyboard shortcuts

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