ServerEndpoint

abstract
class ServerEndpoint[-R, F[_]] extends EndpointInfoOps[R] with EndpointMetaOps

An Endpoint together with functions implementing the endpoint's security and main logic.

Type Params
F

The effect type used in the provided server logic.

R

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

Companion
object
class Object
trait Matchable
class Any

Type members

Types

type A

"Auth": Security input parameter types.

"Auth": Security input parameter types.

type E

Error output parameter types.

Error output parameter types.

type I

Input parameter types.

Input parameter types.

type O

Output parameter types.

Output parameter types.

override
type ThisType[-_R] = Full[A, U, I, E, O, _R, F]
type U

"User": The type of the value returned by the security logic.

"User": The type of the value returned by the security logic.

Value members

Abstract methods

def endpoint: Endpoint[A, I, E, O, R]
def logic: MonadError[F] => U => I => F[Either[E, O]]
def securityLogic: MonadError[F] => A => F[Either[E, U]]

Concrete methods

Definition Classes
override
Definition Classes
override
Definition Classes
override
Definition Classes
Definition Classes

Inherited methods

Inherited from
EndpointInfoOps
def description(d: String): ThisType[R]
Inherited from
EndpointInfoOps
def docsExtension[D : JsonCodec](key: String, value: D): ThisType[R]
Inherited from
EndpointInfoOps
Inherited from
EndpointInfoOps
def name(n: String): ThisType[R]
Inherited from
EndpointInfoOps
def renderPathTemplate(renderPathParam: RenderPathParam, renderQueryParam: Option[RenderQueryParam], includeAuth: Boolean): String

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

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}

Value Params
includeAuth

Should authentication inputs be included in the result.

Inherited from
EndpointMetaOps
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.)

Inherited from
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.

Inherited from
EndpointMetaOps
def showRaw: String

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

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

Inherited from
EndpointMetaOps
def summary(s: String): ThisType[R]
Inherited from
EndpointInfoOps
def tag(t: String): ThisType[R]
Inherited from
EndpointInfoOps
def tags(ts: List[String]): ThisType[R]
Inherited from
EndpointInfoOps