addendpoint

package
v0.18.0 Latest Latest
Warning

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

Go to latest
Published: Oct 19, 2024 License: MIT, MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func InstrumentingMiddleware

func InstrumentingMiddleware[REQ any, RES any](duration metrics.Histogram) endpoint.Middleware[REQ, RES]

InstrumentingMiddleware returns an endpoint middleware that records the duration of each invocation to the passed histogram. The middleware adds a single field: "success", which is "true" if no error is returned, and "false" otherwise.

func LoggingMiddleware

func LoggingMiddleware[REQ any, RES any](logger log.Logger) endpoint.Middleware[REQ, RES]

LoggingMiddleware returns an endpoint middleware that logs the duration of each invocation, and the resulting error, if any.

func MakeConcatEndpoint

MakeConcatEndpoint constructs a Concat endpoint wrapping the service.

func MakeSumEndpoint

MakeSumEndpoint constructs a Sum endpoint wrapping the service.

Types

type ConcatRequest

type ConcatRequest struct {
	A, B string
}

ConcatRequest collects the request parameters for the Concat method.

type ConcatResponse

type ConcatResponse struct {
	V   string `json:"v"`
	Err error  `json:"-"`
}

ConcatResponse collects the response values for the Concat method.

func (ConcatResponse) Failed

func (r ConcatResponse) Failed() error

Failed implements endpoint.Failer.

type Set

type Set struct {
	SumEndpoint    endpoint.Endpoint[SumRequest, SumResponse]
	ConcatEndpoint endpoint.Endpoint[ConcatRequest, ConcatResponse]
}

Set collects all of the endpoints that compose an add service. It's meant to be used as a helper struct, to collect all of the endpoints into a single parameter.

func New

func New(svc addservice.Service, logger log.Logger, duration metrics.Histogram, otTracer stdopentracing.Tracer, zipkinTracer *stdzipkin.Tracer) Set

New returns a Set that wraps the provided server, and wires in all of the expected endpoint middlewares via the various parameters.

func (Set) Concat

func (s Set) Concat(ctx context.Context, a, b string) (string, error)

Concat implements the service interface, so Set may be used as a service. This is primarily useful in the context of a client library.

func (Set) Sum

func (s Set) Sum(ctx context.Context, a, b int) (int, error)

Sum implements the service interface, so Set may be used as a service. This is primarily useful in the context of a client library.

type SumRequest

type SumRequest struct {
	A, B int
}

SumRequest collects the request parameters for the Sum method.

type SumResponse

type SumResponse struct {
	V   int   `json:"v"`
	Err error `json:"-"` // should be intercepted by Failed/errorEncoder
}

SumResponse collects the response values for the Sum method.

func (SumResponse) Failed

func (r SumResponse) Failed() error

Failed implements endpoint.Failer.

Jump to

Keyboard shortcuts

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