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]
- Alphabetic
- By Inheritance
- PartialServerEndpoint
- EndpointMetaOps
- EndpointInfoOps
- EndpointOutputsOps
- EndpointOutputsMacros
- EndpointInputsOps
- EndpointInputsMacros
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- type EndpointType[_I, _E, _O, -_R] = PartialServerEndpoint[T, U, _I, _E, _O, _R, F]
- Definition Classes
- PartialServerEndpoint → EndpointMetaOps → EndpointInfoOps → EndpointOutputsOps → EndpointInputsOps
Abstract Value Members
- abstract def partialLogic: (MonadError[F]) => (T) => F[Either[E, U]]
- Attributes
- protected
- abstract def tInput: EndpointInput[T]
- Attributes
- protected
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def additionalInputsForShow: Vector[Basic[_]]
- Attributes
- protected
- Definition Classes
- PartialServerEndpoint → EndpointMetaOps
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- def connect: EndpointType[I, E, O, R]
- Definition Classes
- EndpointInputsOps
- def delete: EndpointType[I, E, O, R]
- Definition Classes
- EndpointInputsOps
- def deprecated(): EndpointType[I, E, O, R]
- Definition Classes
- EndpointInfoOps
- def description(d: String): EndpointType[I, E, O, R]
- Definition Classes
- EndpointInfoOps
- def docsExtension[A](key: String, value: A)(implicit arg0: JsonCodec[A]): EndpointType[I, E, O, R]
- Definition Classes
- EndpointInfoOps
- def endpoint: Endpoint[(T, I), E, O, R]
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def errorOutput: EndpointOutput[E]
- Definition Classes
- PartialServerEndpoint → EndpointMetaOps
- def get: EndpointType[I, E, O, R]
- Definition Classes
- EndpointInputsOps
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def head: EndpointType[I, E, O, R]
- Definition Classes
- EndpointInputsOps
- def httpMethod: Option[Method]
- Definition Classes
- EndpointInputsOps
- 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
- def in[J, IJ](i: EndpointInput[J])(implicit concat: typelevel.ParamConcat.Aux[I, J, IJ]): EndpointType[IJ, E, O, R]
- Definition Classes
- EndpointInputsOps
- def info: EndpointInfo
- Definition Classes
- PartialServerEndpoint → EndpointMetaOps → EndpointInfoOps
- def info(i: EndpointInfo): EndpointType[I, E, O, R]
- Definition Classes
- EndpointInfoOps
- def input: EndpointInput[I]
- Definition Classes
- PartialServerEndpoint → EndpointMetaOps → EndpointInputsOps
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def mapIn[II](f: (I) => II)(g: (II) => I): EndpointType[II, E, O, R]
- Definition Classes
- EndpointInputsOps
- def mapIn[II](m: Mapping[I, II]): EndpointType[II, E, O, R]
- Definition Classes
- EndpointInputsOps
- def mapInDecode[II](f: (I) => DecodeResult[II])(g: (II) => I): EndpointType[II, E, O, R]
- Definition Classes
- EndpointInputsOps
- macro def mapInTo[CASE_CLASS]: EndpointType[CASE_CLASS, E, O, R]
- Definition Classes
- EndpointInputsMacros
- def mapOut[OO](f: (O) => OO)(g: (OO) => O): EndpointType[I, E, OO, R]
- Definition Classes
- EndpointOutputsOps
- def mapOut[OO](m: Mapping[O, OO]): EndpointType[I, E, OO, R]
- Definition Classes
- EndpointOutputsOps
- def mapOutDecode[OO](f: (O) => DecodeResult[OO])(g: (OO) => O): EndpointType[I, E, OO, R]
- Definition Classes
- EndpointOutputsOps
- macro def mapOutTo[CASE_CLASS]: EndpointType[I, E, CASE_CLASS, R]
- Definition Classes
- EndpointOutputsMacros
- def method(m: Method): EndpointType[I, E, O, R]
- Definition Classes
- EndpointInputsOps
- def name(n: String): EndpointType[I, E, O, R]
- Definition Classes
- EndpointInfoOps
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def options: EndpointType[I, E, O, R]
- Definition Classes
- EndpointInputsOps
- 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
- 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
- def out[P, OP](i: EndpointOutput[P])(implicit ts: typelevel.ParamConcat.Aux[O, P, OP]): EndpointType[I, E, OP, R]
- Definition Classes
- EndpointOutputsOps
- def output: EndpointOutput[O]
- Definition Classes
- PartialServerEndpoint → EndpointMetaOps → EndpointOutputsOps
- def patch: EndpointType[I, E, O, R]
- Definition Classes
- EndpointInputsOps
- def post: EndpointType[I, E, O, R]
- Definition Classes
- EndpointInputsOps
- 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
- def prependIn[J, JI](i: EndpointInput[J])(implicit concat: typelevel.ParamConcat.Aux[J, I, JI]): EndpointType[JI, E, O, R]
- Definition Classes
- EndpointInputsOps
- 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
- 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
- def prependOut[P, PO](i: EndpointOutput[P])(implicit ts: typelevel.ParamConcat.Aux[P, O, PO]): EndpointType[I, E, PO, R]
- Definition Classes
- EndpointOutputsOps
- def put: EndpointType[I, E, O, R]
- Definition Classes
- EndpointInputsOps
- 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
- def serverLogic(g: ((U, I)) => F[Either[E, O]]): ServerEndpoint[(T, I), E, O, R, F]
- 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]
- 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]
- def serverLogicRecoverErrors(g: ((U, I)) => F[O])(implicit eIsThrowable: <:<[E, Throwable], eClassTag: ClassTag[E]): ServerEndpoint[(T, I), E, O, R, F]
- 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
- 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
- def showRaw: String
Equivalent to
.toString
, shows the whole case class structure.Equivalent to
.toString
, shows the whole case class structure.- Definition Classes
- EndpointMetaOps
- def showType: String
- Attributes
- protected
- Definition Classes
- PartialServerEndpoint → EndpointMetaOps
- def summary(s: String): EndpointType[I, E, O, R]
- Definition Classes
- EndpointInfoOps
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def tag(t: String): EndpointType[I, E, O, R]
- Definition Classes
- EndpointInfoOps
- def tags(ts: List[String]): EndpointType[I, E, O, R]
- Definition Classes
- EndpointInfoOps
- def toString(): String
- Definition Classes
- AnyRef → Any
- def trace: EndpointType[I, E, O, R]
- Definition Classes
- EndpointInputsOps
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated