package server
- Alphabetic
- Public
- Protected
Type Members
- case class PartialServerEndpoint[SECURITY_INPUT, PRINCIPAL, INPUT, ERROR_OUTPUT, OUTPUT, -R, F[_]](endpoint: Endpoint[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, R], securityLogic: (MonadError[F]) => (SECURITY_INPUT) => F[Either[ERROR_OUTPUT, PRINCIPAL]]) extends EndpointInputsOps[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, R] with EndpointOutputsOps[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, R] with EndpointErrorOutputVariantsOps[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, R] with EndpointInfoOps[R] with EndpointMetaOps with Product with Serializable
An endpoint with the security logic provided, and the main logic yet unspecified.
An endpoint with the security logic provided, and the main logic yet unspecified. See Endpoint.serverSecurityLogic.
The provided security part of the server logic transforms inputs of type
SECURITY_INPUT
, either to an error of typeERROR_OUTPUT
, or value of typePRINCIPAL
.The part of the server logic which is not provided, will have to transform both
PRINCIPAL
and the rest of the inputINPUT
either into an error, or a value of typeOUTPUT
.Inputs/outputs can be added to partial endpoints as to regular endpoints. The shape of the error outputs can be adjusted in a limited way, by adding new error output variants, similar as if they were defined using Tapir.oneOf; the variants and the existing error outputs should usually have a common supertype (other than
Any
). Hence, it's possible to create a base, secured input, and then specialise it with inputs, outputs and logic as needed.- SECURITY_INPUT
Security input parameter types, which the security logic accepts and returns a
PRINCIPAL
or an errorERROR_OUTPUT
.- PRINCIPAL
The type of the value returned by the security logic.
- INPUT
Input parameter types.
- ERROR_OUTPUT
Error output parameter types.
- OUTPUT
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.
- case class PartialServerEndpointWithSecurityOutput[SECURITY_INPUT, PRINCIPAL, INPUT, ERROR_OUTPUT, SECURITY_OUTPUT, OUTPUT, -R, F[_]](securityOutput: EndpointOutput[SECURITY_OUTPUT], endpoint: Endpoint[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, R], securityLogic: (MonadError[F]) => (SECURITY_INPUT) => F[Either[ERROR_OUTPUT, (SECURITY_OUTPUT, PRINCIPAL)]]) extends EndpointInputsOps[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, R] with EndpointOutputsOps[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, R] with EndpointErrorOutputVariantsOps[SECURITY_INPUT, INPUT, ERROR_OUTPUT, OUTPUT, R] with EndpointInfoOps[R] with EndpointMetaOps with Product with Serializable
An endpoint with the security logic provided, and the main logic yet unspecified.
An endpoint with the security logic provided, and the main logic yet unspecified. See Endpoint.serverSecurityLogicWithOutput.
The provided security part of the server logic transforms inputs of type
SECURITY_INPUT
, either to an error of typeERROR_OUTPUT
, or to a tuple consisting of values of typesSECURITY_OUPUT
andPRINCIPAL
.The part of the server logic which is not provided, will have to transform both
PRINCIPAL
and the rest of the inputINPUT
either into an error, or a value of typeOUTPUT
. The response is then built fromSECURITY_OUTPUT
andOUTPUT
combined.Inputs/outputs can be added to partial endpoints as to regular endpoints. The shape of the error outputs can be adjusted in a limited way, by adding new error output variants, similar as if they were defined using Tapir.oneOf; the variants and the existing error outputs should usually have a common supertype (other than
Any
). Hence, it's possible to create a base, secured input, and then specialise it with inputs, outputs and logic as needed.- SECURITY_INPUT
Security input parameter types, which the security logic accepts and returns a
PRINCIPAL
or an errorERROR_OUTPUT
.- PRINCIPAL
The type of the value returned by the security logic.
- INPUT
Input parameter types.
- ERROR_OUTPUT
Error output parameter types.
- SECURITY_OUTPUT
Security output parameter types.
- OUTPUT
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.
- abstract class ServerEndpoint[-R, F[_]] extends EndpointInfoOps[R] with EndpointMetaOps
An Endpoint together with functions implementing the endpoint's security and main logic.
An Endpoint together with functions implementing the endpoint's security and main logic.
- R
Requirements: The capabilities that are required by this endpoint's inputs/outputs.
Any
, if no requirements.- F
The effect type constructor used in the provided server logic.
Value Members
- object ServerEndpoint