Headers

sttp.tapir.EndpointIO.Headers
case class Headers[T](codec: Codec[List[Header], T, TextPlain], info: Info[T]) extends Atom[T]

Attributes

Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait Atom[T]
trait Atom[T]
trait Atom[T]
trait Atom[T]
trait Basic[T]
trait Basic[T]
trait Basic[T]
trait Basic[T]
trait Single[T]
trait Single[T]
trait Single[T]
trait EndpointIO[T]
trait EndpointOutput[T]
trait EndpointInput[T]
trait EndpointTransput[T]
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

override def show: String

Attributes

Definition Classes

Inherited methods

def /[U, TU](other: EndpointInput[U])(implicit concat: Aux[T, U, TU]): EndpointInput[TU]

Attributes

Inherited from:
EndpointInput
def and[J, IJ](other: EndpointOutput[J])(implicit concat: Aux[T, J, IJ]): EndpointOutput[IJ]

Attributes

Inherited from:
EndpointOutput
def and[U, TU](other: EndpointInput[U])(implicit concat: Aux[T, U, TU]): EndpointInput[TU]

Attributes

Inherited from:
EndpointInput
def and[J, IJ](other: EndpointIO[J])(implicit concat: Aux[T, J, IJ]): EndpointIO[IJ]

Attributes

Inherited from:
EndpointIO
def attribute[A](k: AttributeKey[A], v: A): ThisType[T]

Attributes

Inherited from:
Atom
def attribute[A](k: AttributeKey[A]): Option[A]

Attributes

Inherited from:
Atom
def default(d: T): ThisType[T]

Attributes

Inherited from:
Atom
def deprecated(): ThisType[T]

Attributes

Inherited from:
Atom
def description(d: String): ThisType[T]

Attributes

Inherited from:
Atom
def example(example: Example[T]): ThisType[T]

Attributes

Inherited from:
Atom
def example(t: T): ThisType[T]

Attributes

Inherited from:
Atom
def examples(examples: List[Example[T]]): ThisType[T]

Attributes

Inherited from:
Atom
override def map[U](mapping: Mapping[T, U]): ThisType[U]

Attributes

Definition Classes
Inherited from:
Atom
def map[U](f: T => U)(g: U => T): ThisType[U]

Attributes

Inherited from:
EndpointTransput
def mapDecode[U](f: T => DecodeResult[U])(g: U => T): ThisType[U]

Attributes

Inherited from:
EndpointTransput
inline def mapTo[CASE_CLASS <: Product](using mc: ProductOf[CASE_CLASS]): ThisType[CASE_CLASS]

Attributes

Inherited from:
EndpointTransputMacros
def mapValidate[U](v: Validator[T])(f: T => U)(g: U => T): ThisType[U]

Adds the given validator, and maps to the given higher-level type U.

Adds the given validator, and maps to the given higher-level type U.

Unlike a .validate(v).map(f)(g) invocation, during decoding the validator is run before applying the f function. If there are validation errors, decoding fails. However, the validator is then invoked again on the fully decoded value.

This is useful to create inputs/outputs for types, which are unrepresentable unless the validator's condition is met, e.g. due to preconditions in the constructor.

Attributes

See also
Inherited from:
EndpointTransput
def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product
def schema(modify: (Schema[T]) => Schema[T]): ThisType[T]

Attributes

Inherited from:
Atom
def schema(s: Option[Schema[T]]): ThisType[T]

Attributes

Inherited from:
Atom
def schema(s: Schema[T]): ThisType[T]

Attributes

Inherited from:
Atom
def validate(v: Validator[T]): ThisType[T]

Adds a validator.

Adds a validator.

Note that validation is run on a fully decoded value. That is, during decoding, first the decoding functions are run, followed by validations. Hence any functions provided in subsequent .map s or .mapDecode s will be invoked before validation.

Attributes

See also
Inherited from:
EndpointTransput
def validateIterable[C <: (Iterable), U](v: Validator[U])(implicit tIsCU: T =:= C[U]): ThisType[T]

Adds a validator which validates each element in the collection.

Adds a validator which validates each element in the collection.

Should only be used if the schema hasn't been created by .map ping another one, but directly from Schema[U]. Otherwise the shape of the schema doesn't correspond to the type T, but to some lower-level representation of the type. This might cause invalid results at run-time.

Attributes

Inherited from:
Atom
def validateOption[U](v: Validator[U])(implicit tIsOptionU: T =:= Option[U]): ThisType[T]

Adds a validator which validates the option's element, if it is present.

Adds a validator which validates the option's element, if it is present.

Should only be used if the schema hasn't been created by .map ping another one, but directly from Schema[U]. Otherwise the shape of the schema doesn't correspond to the type T, but to some lower-level representation of the type. This might cause invalid results at run-time.

Attributes

Inherited from:
Atom