request

package
v0.2.9 Latest Latest
Warning

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

Go to latest
Published: May 12, 2026 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AuthMode added in v0.2.4

type AuthMode string
const (
	AuthModeBasic  AuthMode = "basic"
	AuthModeBearer AuthMode = "bearer"
)

type AuthTransport

type AuthTransport struct {
	Manager conf.ManagerInterface
	Base    http.RoundTripper
	Cred    *conf.Credential
	Mode    AuthMode
	// contains filtered or unexported fields
}

func (*AuthTransport) NewAccessToken

func (t *AuthTransport) NewAccessToken(ctx context.Context) error

func (*AuthTransport) RoundTrip

func (t *AuthTransport) RoundTrip(req *http.Request) (*http.Response, error)

type Request

type Request struct {
	Logs        *logs.Gen3Logger
	RetryClient *retryablehttp.Client
	Auth        *AuthTransport

	BaseURL   string
	UserAgent string
}

func (*Request) Do

func (r *Request) Do(ctx context.Context, method, path string, body, out any, opts ...RequestOption) error

type RequestBuilder

type RequestBuilder struct {
	Method   string
	Url      string
	Body     io.Reader
	Headers  map[string]string
	Token    string
	PartSize int64
	SkipAuth bool
	NoRetry  bool
	Timeout  time.Duration
}

func (*RequestBuilder) WithBody

func (ar *RequestBuilder) WithBody(body io.Reader) *RequestBuilder

func (*RequestBuilder) WithHeader

func (ar *RequestBuilder) WithHeader(key, value string) *RequestBuilder

func (*RequestBuilder) WithJSONBody

func (ar *RequestBuilder) WithJSONBody(v any) (*RequestBuilder, error)

func (*RequestBuilder) WithNoRetry added in v0.2.9

func (ar *RequestBuilder) WithNoRetry(noRetry bool) *RequestBuilder

func (*RequestBuilder) WithPartSize

func (ar *RequestBuilder) WithPartSize(size int64) *RequestBuilder

func (*RequestBuilder) WithQuery

func (ar *RequestBuilder) WithQuery(key, value string) *RequestBuilder

func (*RequestBuilder) WithQueryValues

func (ar *RequestBuilder) WithQueryValues(v url.Values) *RequestBuilder

func (*RequestBuilder) WithSkipAuth

func (ar *RequestBuilder) WithSkipAuth(skip bool) *RequestBuilder

func (*RequestBuilder) WithTimeout

func (ar *RequestBuilder) WithTimeout(d time.Duration) *RequestBuilder

func (*RequestBuilder) WithToken

func (ar *RequestBuilder) WithToken(token string) *RequestBuilder

type RequestOption

type RequestOption func(*RequestBuilder)

func WithHeader

func WithHeader(key, value string) RequestOption

func WithNoRetry added in v0.2.9

func WithNoRetry(noRetry bool) RequestOption

func WithPartSize

func WithPartSize(size int64) RequestOption

func WithQuery

func WithQuery(key, value string) RequestOption

func WithQueryValues

func WithQueryValues(v url.Values) RequestOption

func WithSkipAuth

func WithSkipAuth(skip bool) RequestOption

func WithTimeout

func WithTimeout(d time.Duration) RequestOption

func WithToken

func WithToken(token string) RequestOption

type Requester

type Requester interface {
	Do(ctx context.Context, method, path string, body, out any, opts ...RequestOption) error
}

func NewBasicAuthRequestor added in v0.2.4

func NewBasicAuthRequestor(
	logger *logs.Gen3Logger,
	cred *conf.Credential,
	manager conf.ManagerInterface,
	baseURL string,
	userAgent string,
	baseHTTPClient *http.Client,
) Requester

func NewBearerTokenRequestor added in v0.2.4

func NewBearerTokenRequestor(
	logger *logs.Gen3Logger,
	cred *conf.Credential,
	manager conf.ManagerInterface,
	baseURL string,
	userAgent string,
	baseHTTPClient *http.Client,
) Requester

type ResponseError

type ResponseError struct {
	Method  string
	URL     string
	Status  int
	Body    string
	Headers http.Header
}

func (*ResponseError) Error

func (e *ResponseError) Error() string

Jump to

Keyboard shortcuts

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