service

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: Oct 10, 2022 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DirectRequestIterator

type DirectRequestIterator struct {
}

func NewDirectRequestIterator

func NewDirectRequestIterator() *DirectRequestIterator

func (*DirectRequestIterator) Next

func (d *DirectRequestIterator) Next(
	prevRequest *http.Request,
	prevResponseData []byte,
) (*http.Request, error)

type HTTPError

type HTTPError struct {
	StatusCode int
	Body       io.Reader
}

func (HTTPError) Error

func (e HTTPError) Error() string

type RequestHandler

type RequestHandler interface {
	Handle(ctx context.Context, w io.Writer, request *http.Request) error
}

type RequestIterator

type RequestIterator interface {
	Next(prevRequest *http.Request, prevResponseData []byte) (*http.Request, error)
}

RequestIterator is used in order to produce required requests to a backend

type TransformerHandler

type TransformerHandler struct {
	// contains filtered or unexported fields
}

func NewTransformerHandler

func NewTransformerHandler(
	transformer manipulation.DataTransformer,
	requestIterator RequestIterator,
	backend httpbackend.RequestHandler,
	config ...*TransformerHandlerConfig,
) *TransformerHandler

func (*TransformerHandler) Handle

func (h *TransformerHandler) Handle(
	ctx context.Context,
	w io.Writer,
	request *http.Request,
) error

func (*TransformerHandler) SetFlushInterval

func (h *TransformerHandler) SetFlushInterval(interval time.Duration)

SetFlushInterval specifies the flush interval to flush to the writer while copying the transformed data. If zero, no periodic flushing is done. A negative value means to flush immediately after each write to the client.

type TransformerHandlerConfig

type TransformerHandlerConfig struct {
	ErrorHandler           func(err error) (proceed bool)
	SuccessHTTPStatusCodes []int
}

Jump to

Keyboard shortcuts

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