Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ExecuteNewRequest ¶
func UseDefaultParam ¶
func UseDefaultParam[T comparable](dst *param.Opt[T], src *T)
Types ¶
type HTTPDoer ¶
This interface is primarily used to describe an *http.Client, but also supports custom HTTP implementations.
type PreRequestOptionFunc ¶
type PreRequestOptionFunc func(*RequestConfig) error
func (PreRequestOptionFunc) Apply ¶
func (s PreRequestOptionFunc) Apply(r *RequestConfig) error
type RequestConfig ¶
type RequestConfig struct {
MaxRetries int
RequestTimeout time.Duration
Context context.Context
Request *http.Request
BaseURL *url.URL
// DefaultBaseURL will be used if BaseURL is not explicitly overridden using
// WithBaseURL.
DefaultBaseURL *url.URL
CustomHTTPDoer HTTPDoer
HTTPClient *http.Client
Middlewares []middleware
APIKey string
CloudPollingIntervalSeconds int64
CloudPollingTimeoutSeconds int64
CloudProjectID *int64
CloudRegionID *int64
// If ResponseBodyInto not nil, then we will attempt to deserialize into
// ResponseBodyInto. If Destination is a []byte, then it will return the body as
// is.
ResponseBodyInto any
// ResponseInto copies the \*http.Response of the corresponding request into the
// given address
ResponseInto **http.Response
Body io.Reader
}
RequestConfig represents all the state related to one request.
Editing the variables inside RequestConfig directly is unstable api. Prefer composing the RequestOption instead if possible.
func NewRequestConfig ¶
func NewRequestConfig(ctx context.Context, method string, u string, body any, dst any, opts ...RequestOption) (*RequestConfig, error)
func PreRequestOptions ¶
func PreRequestOptions(opts ...RequestOption) (RequestConfig, error)
PreRequestOptions is used to collect all the options which need to be known before a call to [RequestConfig.ExecuteNewRequest], such as path parameters or global defaults. PreRequestOptions will return a RequestConfig with the options applied.
Only request option functions of type PreRequestOptionFunc are applied.
func (*RequestConfig) Apply ¶
func (cfg *RequestConfig) Apply(opts ...RequestOption) error
func (*RequestConfig) Clone ¶
func (cfg *RequestConfig) Clone(ctx context.Context) *RequestConfig
func (*RequestConfig) Execute ¶
func (cfg *RequestConfig) Execute() (err error)
type RequestOption ¶
type RequestOption interface {
Apply(*RequestConfig) error
}
func ExcludeResponseBodyInto ¶ added in v0.30.0
func ExcludeResponseBodyInto(opts ...RequestOption) []RequestOption
ExcludeResponseBodyInto returns a new slice of options with WithResponseBodyInto removed. Used for action methods and Poll() to ensure they use default deserialization (TaskIDList, Task).
func WithDefaultBaseURL ¶ added in v0.2.0
func WithDefaultBaseURL(baseURL string) RequestOption
WithDefaultBaseURL returns a RequestOption that sets the client's default Base URL. This is always overridden by setting a base URL with WithBaseURL. WithBaseURL should be used instead of WithDefaultBaseURL except in internal code.
func WithoutRequestBody ¶ added in v0.30.0
func WithoutRequestBody() RequestOption
WithoutRequestBody clears any request body set by previous options. Used internally in polling methods to ensure Poll() and Get() calls have no request body.
type RequestOptionFunc ¶
type RequestOptionFunc func(*RequestConfig) error
func (RequestOptionFunc) Apply ¶
func (s RequestOptionFunc) Apply(r *RequestConfig) error