DecodeBasicInputs

sttp.tapir.server.interpreter.DecodeBasicInputs$

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Concise view

Type members

Classlikes

case class IndexedBasicInput(input: Basic[_], index: Int)

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Value members

Concrete methods

def apply(input: EndpointInput[_], ctx: DecodeInputsContext, matchWholePath: Boolean): (DecodeBasicInputsResult, DecodeInputsContext)

Decodes values of all basic inputs defined by the given input, and returns a map from the input to the input's value.

Decodes values of all basic inputs defined by the given input, and returns a map from the input to the input's value.

An exception is the body input, which is not decoded. This is because typically bodies can be only read once. That's why, all non-body inputs are used to decide if a request matches the endpoint, or not. If a body input is present, it is also returned as part of the result.

In case any of the decoding fails, the failure is returned together with the failing input.

Attributes

ctx

The context, in which to decode the input. Contains the original request and progress in decoding the path

matchWholePath

Should the whole path be matched - that is, if the input doesn't exhaust the path, should a failure be reported