Documentation
¶
Index ¶
- type BackoffFn
- type Config
- type MockZHTTPClient
- type MockZRequest
- func (_m *MockZRequest) Get(ctx context.Context) (*Response, error)
- func (_m *MockZRequest) Post(ctx context.Context) (*Response, error)
- func (_m *MockZRequest) SetBody(body io.Reader) ZRequest
- func (_m *MockZRequest) SetError(err interface{}) ZRequest
- func (_m *MockZRequest) SetHeaders(headers map[string]string) ZRequest
- func (_m *MockZRequest) SetQueryParams(params url.Values) ZRequest
- func (_m *MockZRequest) SetResult(result interface{}) ZRequest
- func (_m *MockZRequest) SetRetryPolicy(retryPolicy *RetryPolicy) ZRequest
- func (_m *MockZRequest) SetURL(_a0 string) ZRequest
- type OpenTelemetryConfig
- type Response
- type RetryPolicy
- type ZHTTPClient
- type ZRequest
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type MockZHTTPClient ¶
MockZHTTPClient is an autogenerated mock type for the ZHTTPClient type
func NewMockZHTTPClient ¶
func NewMockZHTTPClient(t mockConstructorTestingTNewMockZHTTPClient) *MockZHTTPClient
NewMockZHTTPClient creates a new instance of MockZHTTPClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations.
func (*MockZHTTPClient) GetHTTPClient ¶ added in v0.23.2
func (m *MockZHTTPClient) GetHTTPClient() *http.Client
func (*MockZHTTPClient) NewRequest ¶
func (_m *MockZHTTPClient) NewRequest() ZRequest
NewRequest provides a mock function with given fields:
func (*MockZHTTPClient) SetRetryPolicy ¶
func (_m *MockZHTTPClient) SetRetryPolicy(retryPolicy *RetryPolicy) ZHTTPClient
SetRetryPolicy provides a mock function with given fields: retryPolicy
type MockZRequest ¶
MockZRequest is an autogenerated mock type for the ZRequest type
func NewMockZRequest ¶
func NewMockZRequest(t mockConstructorTestingTNewMockZRequest) *MockZRequest
NewMockZRequest creates a new instance of MockZRequest. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations.
func (*MockZRequest) Get ¶
func (_m *MockZRequest) Get(ctx context.Context) (*Response, error)
Get provides a mock function with given fields: ctx
func (*MockZRequest) Post ¶
func (_m *MockZRequest) Post(ctx context.Context) (*Response, error)
Post provides a mock function with given fields: ctx
func (*MockZRequest) SetBody ¶
func (_m *MockZRequest) SetBody(body io.Reader) ZRequest
SetBody provides a mock function with given fields: body
func (*MockZRequest) SetError ¶
func (_m *MockZRequest) SetError(err interface{}) ZRequest
SetError provides a mock function with given fields: err
func (*MockZRequest) SetHeaders ¶
func (_m *MockZRequest) SetHeaders(headers map[string]string) ZRequest
SetHeaders provides a mock function with given fields: headers
func (*MockZRequest) SetQueryParams ¶
func (_m *MockZRequest) SetQueryParams(params url.Values) ZRequest
SetQueryParams provides a mock function with given fields: params
func (*MockZRequest) SetResult ¶
func (_m *MockZRequest) SetResult(result interface{}) ZRequest
SetResult provides a mock function with given fields: result
func (*MockZRequest) SetRetryPolicy ¶
func (_m *MockZRequest) SetRetryPolicy(retryPolicy *RetryPolicy) ZRequest
SetRetryPolicy provides a mock function with given fields: retryPolicy
func (*MockZRequest) SetURL ¶
func (_m *MockZRequest) SetURL(_a0 string) ZRequest
SetURL provides a mock function with given fields: _a0
type OpenTelemetryConfig ¶ added in v0.23.0
type OpenTelemetryConfig struct {
// Enabled controls whether OpenTelemetry instrumentation is applied
Enabled bool
// OperationNameFunc is an optional function to customize operation names
// If nil, default operation naming will be used
// Signature: func(operation string, r *http.Request) string
OperationNameFunc func(string, *http.Request) string
// Filters is an optional function to filter which requests to instrument
// If nil, all requests will be instrumented
Filters func(*http.Request) bool
// EnableLegacyAttributes enables legacy HTTP semantic conventions (net.peer.name, http.url, http.target)
// alongside new ones by setting OTEL_SEMCONV_STABILITY_OPT_IN=http/dup
// This is required for External API Monitoring in tools like SigNoz
EnableLegacyAttributes bool
}
OpenTelemetryConfig configures OpenTelemetry instrumentation for HTTP client
type RetryPolicy ¶
type RetryPolicy struct {
// MaxAttempts is the maximum number of retries
MaxAttempts int
// WaitBeforeRetry is the minimum default wait before retry
WaitBeforeRetry time.Duration
// MaxWaitBeforeRetry is the maximum cap for the wait before retry
MaxWaitBeforeRetry time.Duration
// contains filtered or unexported fields
}
func (*RetryPolicy) SetBackoff ¶
func (r *RetryPolicy) SetBackoff(fn BackoffFn)
SetBackoff sets a custom backoff function to be used to calculate the sleep duration between retries.
func (*RetryPolicy) SetExponentialBackoff ¶
func (r *RetryPolicy) SetExponentialBackoff(duration time.Duration)
SetExponentialBackoff sets an exponential base 2 delay ( duration * 2 ^ attempt ) for each attempt.
func (*RetryPolicy) SetLinearBackoff ¶
func (r *RetryPolicy) SetLinearBackoff(duration time.Duration)
SetLinearBackoff sets a constant sleep duration between retries.
func (*RetryPolicy) WithCodes ¶
func (r *RetryPolicy) WithCodes(codes ...int) *RetryPolicy
WithCodes specifies the response status codes which trigger a retry.
type ZHTTPClient ¶
type ZHTTPClient interface {
SetRetryPolicy(retryPolicy *RetryPolicy) ZHTTPClient
NewRequest() ZRequest
Do(ctx context.Context, req *http.Request) (*Response, error)
GetHTTPClient() *http.Client
}
func New ¶
func New(config Config) ZHTTPClient
type ZRequest ¶
type ZRequest interface {
SetURL(url string) ZRequest
SetHeaders(headers map[string]string) ZRequest
SetBody(body io.Reader) ZRequest
SetQueryParams(params url.Values) ZRequest
SetRetryPolicy(retryPolicy *RetryPolicy) ZRequest
SetResult(result interface{}) ZRequest
SetError(err interface{}) ZRequest
Post(ctx context.Context) (*Response, error)
Get(ctx context.Context) (*Response, error)
}