http

package
v0.1.3 Latest Latest
Warning

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

Go to latest
Published: Jun 20, 2022 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client interface {
	RequestUse(middlewares ...ClientRequestMiddleware)
	ResponseUse(middlewares ...ClientResponseMiddleware)
	Execute(ctx context.Context, request Request) (*Response, error)
}

type ClientMiddleware

type ClientMiddleware interface {
	ClientRequestMiddleware | ClientResponseMiddleware
}

type ClientRequestMiddleware

type ClientRequestMiddleware func(ctx context.Context, r *Request, next MiddlewareNextFunc)

func InstrumentedRequestMiddleware

func InstrumentedRequestMiddleware(name string) ClientRequestMiddleware

type ClientResponseMiddleware

type ClientResponseMiddleware func(ctx context.Context, r *Response, next MiddlewareNextFunc)

type Headers

type Headers map[string]string

func NewHeaders

func NewHeaders() Headers

func (*Headers) Get

func (h *Headers) Get(key string) (string, bool)

func (*Headers) Set

func (h *Headers) Set(key, value string)

type MiddlewareNextFunc

type MiddlewareNextFunc func(ctx context.Context, err error)

type Request

type Request struct {
	Headers     Headers
	Service     string
	Method      string
	Path        string
	Body        []byte
	ContentType string
}

func ApplyRequestMiddlewares

func ApplyRequestMiddlewares(ctx context.Context, request *Request, middlewares ...ClientRequestMiddleware) (*Request, error)

func NewRequest

func NewRequest(service, method, path string, opts ...RequestOption) (*Request, error)

type RequestOption

type RequestOption func(r *Request) error

func Body

func Body(value []byte, contentType string) RequestOption
func Header(key, value string) RequestOption

func JSONBody

func JSONBody(value interface{}) RequestOption

func UrlEncodedBody

func UrlEncodedBody(raw map[string]interface{}) RequestOption

type Response

type Response struct {
	Headers
}

func ApplyResponseMiddlewares

func ApplyResponseMiddlewares(ctx context.Context, response *Response, middlewares ...ClientResponseMiddleware) (*Response, error)

Jump to

Keyboard shortcuts

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