requestconfig

package
v0.1.0-alpha.3 Latest Latest
Warning

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

Go to latest
Published: Mar 15, 2025 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ExecuteNewRequest

func ExecuteNewRequest(ctx context.Context, method string, u string, body interface{}, dst interface{}, opts ...RequestOption) error

func UseDefaultParam

func UseDefaultParam[T any](dst *param.Field[T], src *T)

Types

type PreRequestOptionFunc

type PreRequestOptionFunc func(*RequestConfig) error

func (PreRequestOptionFunc) Apply

type RequestConfig

type RequestConfig struct {
	MaxRetries     int
	RequestTimeout time.Duration
	Context        context.Context
	Request        *http.Request
	BaseURL        *url.URL
	HTTPClient     *http.Client
	Middlewares    []middleware
	// 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 interface{}
	// 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 interface{}, dst interface{}, opts ...RequestOption) (*RequestConfig, error)

func PreRequestOptions

func PreRequestOptions(opts ...RequestOption) (RequestConfig, error)

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
}

type RequestOptionFunc

type RequestOptionFunc func(*RequestConfig) error

func (RequestOptionFunc) Apply

Jump to

Keyboard shortcuts

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