Packages

c

sttp.tapir.server

PartialServerEndpoint

abstract class PartialServerEndpoint[T, U, I, E, O, -R, F[_]] extends EndpointInputsOps[I, E, O, R] with EndpointOutputsOps[I, E, O, R] with EndpointInfoOps[I, E, O, R] with EndpointMetaOps[I, E, O, R]

An endpoint, with some of the server logic already provided, and some left unspecified. See Endpoint.serverLogicForCurrent.

The part of the server logic which is provided transforms some inputs of type T, either to an error of type E, or value of type U.

The part of the server logic which is not provided, will have to transform a tuple: (U, I) either into an error, or a value of type O.

Inputs/outputs can be added to partial endpoints as to regular endpoints, however the shape of the error outputs is fixed and cannot be changed.

T

Original type of the input, transformed into U

U

Type of partially transformed input.

I

Input parameter types.

E

Error output parameter types.

O

Output parameter types.

R

The capabilities that are required by this endpoint's inputs/outputs. Any, if no requirements.

F

The effect type used in the provided partial server logic.

Self Type
PartialServerEndpoint[T, U, I, E, O, R, F]
Linear Supertypes
EndpointMetaOps[I, E, O, R], EndpointInfoOps[I, E, O, R], EndpointOutputsOps[I, E, O, R], EndpointOutputsMacros[I, E, O, R], EndpointInputsOps[I, E, O, R], EndpointInputsMacros[I, E, O, R], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. PartialServerEndpoint
  2. EndpointMetaOps
  3. EndpointInfoOps
  4. EndpointOutputsOps
  5. EndpointOutputsMacros
  6. EndpointInputsOps
  7. EndpointInputsMacros
  8. AnyRef
  9. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new PartialServerEndpoint(partialEndpoint: Endpoint[I, E, O, R])

Type Members

  1. type EndpointType[_I, _E, _O, -_R] = PartialServerEndpoint[T, U, _I, _E, _O, _R, F]

Abstract Value Members

  1. abstract def partialLogic: (MonadError[F]) => (T) => F[Either[E, U]]
    Attributes
    protected
  2. abstract def tInput: EndpointInput[T]
    Attributes
    protected

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def additionalInputsForShow: Vector[Basic[_]]
    Attributes
    protected
    Definition Classes
    PartialServerEndpointEndpointMetaOps
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  7. def connect: EndpointType[I, E, O, R]
    Definition Classes
    EndpointInputsOps
  8. def delete: EndpointType[I, E, O, R]
    Definition Classes
    EndpointInputsOps
  9. def deprecated(): EndpointType[I, E, O, R]
    Definition Classes
    EndpointInfoOps
  10. def description(d: String): EndpointType[I, E, O, R]
    Definition Classes
    EndpointInfoOps
  11. def docsExtension[A](key: String, value: A)(implicit arg0: JsonCodec[A]): EndpointType[I, E, O, R]
    Definition Classes
    EndpointInfoOps
  12. def endpoint: Endpoint[(T, I), E, O, R]
  13. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  15. def errorOutput: EndpointOutput[E]
  16. def get: EndpointType[I, E, O, R]
    Definition Classes
    EndpointInputsOps
  17. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  18. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  19. def head: EndpointType[I, E, O, R]
    Definition Classes
    EndpointInputsOps
  20. def httpMethod: Option[Method]
    Definition Classes
    EndpointInputsOps
  21. def in[BS, J, IJ, R2](i: StreamBodyIO[BS, J, R2])(implicit concat: typelevel.ParamConcat.Aux[I, J, IJ]): EndpointType[IJ, E, O, R with R2]
    Definition Classes
    EndpointInputsOps
  22. def in[J, IJ](i: EndpointInput[J])(implicit concat: typelevel.ParamConcat.Aux[I, J, IJ]): EndpointType[IJ, E, O, R]
    Definition Classes
    EndpointInputsOps
  23. def info: EndpointInfo
  24. def info(i: EndpointInfo): EndpointType[I, E, O, R]
    Definition Classes
    EndpointInfoOps
  25. def input: EndpointInput[I]
  26. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  27. def mapIn[II](f: (I) => II)(g: (II) => I): EndpointType[II, E, O, R]
    Definition Classes
    EndpointInputsOps
  28. def mapIn[II](m: Mapping[I, II]): EndpointType[II, E, O, R]
    Definition Classes
    EndpointInputsOps
  29. def mapInDecode[II](f: (I) => DecodeResult[II])(g: (II) => I): EndpointType[II, E, O, R]
    Definition Classes
    EndpointInputsOps
  30. macro def mapInTo[CASE_CLASS]: EndpointType[CASE_CLASS, E, O, R]
    Definition Classes
    EndpointInputsMacros
  31. def mapOut[OO](f: (O) => OO)(g: (OO) => O): EndpointType[I, E, OO, R]
    Definition Classes
    EndpointOutputsOps
  32. def mapOut[OO](m: Mapping[O, OO]): EndpointType[I, E, OO, R]
    Definition Classes
    EndpointOutputsOps
  33. def mapOutDecode[OO](f: (O) => DecodeResult[OO])(g: (OO) => O): EndpointType[I, E, OO, R]
    Definition Classes
    EndpointOutputsOps
  34. macro def mapOutTo[CASE_CLASS]: EndpointType[I, E, CASE_CLASS, R]
    Definition Classes
    EndpointOutputsMacros
  35. def method(m: Method): EndpointType[I, E, O, R]
    Definition Classes
    EndpointInputsOps
  36. def name(n: String): EndpointType[I, E, O, R]
    Definition Classes
    EndpointInfoOps
  37. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  38. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  39. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  40. def options: EndpointType[I, E, O, R]
    Definition Classes
    EndpointInputsOps
  41. def out[PIPE_REQ_RESP, P, OP, R2](i: WebSocketBodyOutput[PIPE_REQ_RESP, _, _, P, R2])(implicit ts: typelevel.ParamConcat.Aux[O, P, OP]): EndpointType[I, E, OP, R with R2 with WebSockets]
    Definition Classes
    EndpointOutputsOps
  42. def out[BS, P, OP, R2](i: StreamBodyIO[BS, P, R2])(implicit ts: typelevel.ParamConcat.Aux[O, P, OP]): EndpointType[I, E, OP, R with R2]
    Definition Classes
    EndpointOutputsOps
  43. def out[P, OP](i: EndpointOutput[P])(implicit ts: typelevel.ParamConcat.Aux[O, P, OP]): EndpointType[I, E, OP, R]
    Definition Classes
    EndpointOutputsOps
  44. def output: EndpointOutput[O]
  45. def patch: EndpointType[I, E, O, R]
    Definition Classes
    EndpointInputsOps
  46. def post: EndpointType[I, E, O, R]
    Definition Classes
    EndpointInputsOps
  47. def prependIn[BS, J, JI, R2](i: StreamBodyIO[BS, J, R2])(implicit concat: typelevel.ParamConcat.Aux[J, I, JI]): EndpointType[JI, E, O, R with R2]
    Definition Classes
    EndpointInputsOps
  48. def prependIn[J, JI](i: EndpointInput[J])(implicit concat: typelevel.ParamConcat.Aux[J, I, JI]): EndpointType[JI, E, O, R]
    Definition Classes
    EndpointInputsOps
  49. def prependOut[PIPE_REQ_RESP, P, PO, R2](i: WebSocketBodyOutput[PIPE_REQ_RESP, _, _, P, R2])(implicit ts: typelevel.ParamConcat.Aux[P, O, PO]): EndpointType[I, E, PO, R with R2 with WebSockets]
    Definition Classes
    EndpointOutputsOps
  50. def prependOut[BS, P, PO, R2](i: StreamBodyIO[BS, P, R2])(implicit ts: typelevel.ParamConcat.Aux[P, O, PO]): EndpointType[I, E, PO, R]
    Definition Classes
    EndpointOutputsOps
  51. def prependOut[P, PO](i: EndpointOutput[P])(implicit ts: typelevel.ParamConcat.Aux[P, O, PO]): EndpointType[I, E, PO, R]
    Definition Classes
    EndpointOutputsOps
  52. def put: EndpointType[I, E, O, R]
    Definition Classes
    EndpointInputsOps
  53. def renderPathTemplate(renderPathParam: RenderPathParam = RenderPathTemplate.Defaults.path, renderQueryParam: Option[RenderQueryParam] = Some(RenderPathTemplate.Defaults.query), includeAuth: Boolean = true): String

    Renders endpoint path, by default all parametrised path and query components are replaced by {param_name} or {paramN}, e.g.

    Renders endpoint path, by default all parametrised path and query components are replaced by {param_name} or {paramN}, e.g. for

    endpoint.in("p1" / path[String] / query[String]("par2"))

    returns /p1/{param1}?par2={par2}

    includeAuth

    Should authentication inputs be included in the result.

    Definition Classes
    EndpointMetaOps
  54. def serverLogic(g: ((U, I)) => F[Either[E, O]]): ServerEndpoint[(T, I), E, O, R, F]
  55. def serverLogicForCurrent[V, UV](f: (I) => F[Either[E, V]])(implicit concat: typelevel.ParamConcat.Aux[U, V, UV]): PartialServerEndpoint[(T, I), UV, Unit, E, O, R, F]
  56. def serverLogicForCurrentRecoverErrors[V, UV](f: (I) => F[V])(implicit concat: typelevel.ParamConcat.Aux[U, V, UV], eIsThrowable: <:<[E, Throwable], eClassTag: ClassTag[E]): PartialServerEndpoint[(T, I), UV, Unit, E, O, R, F]
  57. def serverLogicRecoverErrors(g: ((U, I)) => F[O])(implicit eIsThrowable: <:<[E, Throwable], eClassTag: ClassTag[E]): ServerEndpoint[(T, I), E, O, R, F]
  58. def show: String

    Basic information about the endpoint, excluding mapping information, with inputs sorted (first the method, then path, etc.)

    Basic information about the endpoint, excluding mapping information, with inputs sorted (first the method, then path, etc.)

    Definition Classes
    EndpointMetaOps
  59. def showDetail: String

    Detailed description of the endpoint, with inputs/outputs represented in the same order as originally defined, including mapping information.

    Detailed description of the endpoint, with inputs/outputs represented in the same order as originally defined, including mapping information.

    Definition Classes
    EndpointMetaOps
  60. def showRaw: String

    Equivalent to .toString, shows the whole case class structure.

    Equivalent to .toString, shows the whole case class structure.

    Definition Classes
    EndpointMetaOps
  61. def showType: String
    Attributes
    protected
    Definition Classes
    PartialServerEndpointEndpointMetaOps
  62. def summary(s: String): EndpointType[I, E, O, R]
    Definition Classes
    EndpointInfoOps
  63. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  64. def tag(t: String): EndpointType[I, E, O, R]
    Definition Classes
    EndpointInfoOps
  65. def tags(ts: List[String]): EndpointType[I, E, O, R]
    Definition Classes
    EndpointInfoOps
  66. def toString(): String
    Definition Classes
    AnyRef → Any
  67. def trace: EndpointType[I, E, O, R]
    Definition Classes
    EndpointInputsOps
  68. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  69. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  70. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from EndpointMetaOps[I, E, O, R]

Inherited from EndpointInfoOps[I, E, O, R]

Inherited from EndpointOutputsOps[I, E, O, R]

Inherited from EndpointOutputsMacros[I, E, O, R]

Inherited from EndpointInputsOps[I, E, O, R]

Inherited from EndpointInputsMacros[I, E, O, R]

Inherited from AnyRef

Inherited from Any

Ungrouped