EndpointHandler

sttp.tapir.server.interceptor.EndpointHandler
trait EndpointHandler[F[_], B]

Handles the result of decoding a request using an endpoint's inputs.

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any

Members list

Value members

Abstract methods

def onDecodeFailure(ctx: DecodeFailureContext)(implicit monad: MonadError[F], bodyListener: BodyListener[F, B]): F[Option[ServerResponse[B]]]

Called when the given request hasn't been successfully decoded, because of the given failure on the given input. This is captured by the ctx parameter.

Called when the given request hasn't been successfully decoded, because of the given failure on the given input. This is captured by the ctx parameter.

Might be called multiple times per request.

Attributes

Returns

An effect, describing the optional server response. If None, the next endpoint will be tried (if any).

def onDecodeSuccess[A, U, I](ctx: DecodeSuccessContext[F, A, U, I])(implicit monad: MonadError[F], bodyListener: BodyListener[F, B]): F[ServerResponse[B]]

Called when the request has been successfully decoded into data, and when the security logic succeeded. This is captured by the ctx parameter.

Called when the request has been successfully decoded into data, and when the security logic succeeded. This is captured by the ctx parameter.

Called at most once per request.

Type parameters

A

The type of the endpoint's security inputs.

I

The type of the endpoint's inputs.

U

Type of the successful result of the security logic.

Attributes

Returns

An effect, describing the server's response.

def onSecurityFailure[A](ctx: SecurityFailureContext[F, A])(implicit monad: MonadError[F], bodyListener: BodyListener[F, B]): F[ServerResponse[B]]

Called when the security inputs have been successfully decoded into data, but the security logic failed (either with an error result or an exception). This is captured by the ctx parameter.

Called when the security inputs have been successfully decoded into data, but the security logic failed (either with an error result or an exception). This is captured by the ctx parameter.

Called at most once per request.

Type parameters

A

The type of the endpoint's security inputs.

Attributes

Returns

An effect, describing the server's response.