rest

package
v0.0.0-...-ff01a36 Latest Latest
Warning

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

Go to latest
Published: Sep 19, 2023 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DefaultClient

func DefaultClient(host string) (*resty.Client, error)

func Exec

func Exec[T Requester, E APIResponseErroer, K any](
	cl *resty.Client,
	ctx context.Context,
	request T,
	endpoint string,
) (result K, err error)

func ExecReq

func ExecReq[E APIResponseErroer, K any](
	req *resty.Request,
	requester interface{ ToMethod() string },
	endpoint string,
) (result K, err error)

func NewClient

func NewClient(cl *http.Client, logger log.ILogger, host string) (*resty.Client, error)

NewClient func returns an already to use resty.Client.

func OnAfterResponse

func OnAfterResponse(logger log.ILogger) func(*resty.Client, *resty.Response) error

func OnBeforeRequest

func OnBeforeRequest(logger log.ILogger) func(*resty.Client, *resty.Request) error

func ReqGen

func ReqGen[T Requester](cl *resty.Client, ctx context.Context, request T) (*resty.Request, error)

Types

type APIResponseErroer

type APIResponseErroer interface {
	APIResponseErr(error, ReqResInfo) error
}

type BasicAuthenticator

type BasicAuthenticator interface {
	ToBasic() (string, string, error)
}

type Bodier

type Bodier interface {
	ToBody() (any, error)
}

type DeleteDummyRequester

type DeleteDummyRequester struct{ DummyRequester }

func (DeleteDummyRequester) ToMethod

func (DeleteDummyRequester) ToMethod() string

type DummyAPIResponseErr

type DummyAPIResponseErr struct{}

func (DummyAPIResponseErr) APIResponseErr

func (DummyAPIResponseErr) APIResponseErr(err error, reqRes ReqResInfo) error

type DummyRequester

type DummyRequester struct{}

DummyRequester is used in structs that does not implement some of the Requester methods to fast our development phase and reduce boilerplate code.

func (DummyRequester) After

func (DummyRequester) After(req *resty.Request) (*resty.Request, error)

func (DummyRequester) ToBasic

func (DummyRequester) ToBasic() (string, string, error)

func (DummyRequester) ToBody

func (DummyRequester) ToBody() (any, error)

func (DummyRequester) ToHeader

func (DummyRequester) ToHeader() (http.Header, error)

func (DummyRequester) ToPathParameter

func (DummyRequester) ToPathParameter() (map[string]string, error)

func (DummyRequester) ToQuery

func (DummyRequester) ToQuery() (url.Values, error)

type GetDummyRequester

type GetDummyRequester struct{ DummyRequester }

func (GetDummyRequester) ToMethod

func (GetDummyRequester) ToMethod() string

type Headerers

type Headerers interface {
	ToHeader() (http.Header, error)
}

type Methoder

type Methoder interface {
	ToMethod() string
}

type PathParameterer

type PathParameterer interface {
	ToPathParameter() (map[string]string, error)
}

type PostDummyRequester

type PostDummyRequester struct{ DummyRequester }

func (PostDummyRequester) ToMethod

func (PostDummyRequester) ToMethod() string

type PutDummyRequester

type PutDummyRequester struct{ DummyRequester }

func (PutDummyRequester) ToMethod

func (PutDummyRequester) ToMethod() string

type Querier

type Querier interface {
	ToQuery() (url.Values, error)
}

type ReqResInfo

type ReqResInfo struct {
	Method     string
	URL        string
	StatusCode int
	BodyRes    []byte
}

func MapReqRes

func MapReqRes(req *resty.Request, res *resty.Response) ReqResInfo

type Requester

type Requester interface {
	Methoder
	Querier
	Headerers
	PathParameterer
	BasicAuthenticator
	Bodier
	After(req *resty.Request) (*resty.Request, error)
}

type UnimplementedMethodErr

type UnimplementedMethodErr error
var ErrUnimplementedMethod UnimplementedMethodErr = errors.New("Unimplemented method")

Jump to

Keyboard shortcuts

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