An Endpoint together with functions implementing the endpoint's security and main logic.
- Type parameters:
- F
The effect type constructor 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
Type members
Types
Error output parameter types (abbreviated as E
).
Error output parameter types (abbreviated as E
).
The type of the value returned by the security logic, e.g. a user (abbreviated as U
).
The type of the value returned by the security logic, e.g. a user (abbreviated as U
).
Security input parameter types (abbreviated as A
).
Security input parameter types (abbreviated as A
).
Value members
Abstract methods
Concrete methods
Prepends additional security logic to this endpoint. This is useful when adding security to file/resource-serving endpoints. The
additional security logic should return a Right(())
to indicate success, or a Left(E2)
to indicate failure; in this case, the
given error output will be used to create the response.
Prepends additional security logic to this endpoint. This is useful when adding security to file/resource-serving endpoints. The
additional security logic should return a Right(())
to indicate success, or a Left(E2)
to indicate failure; in this case, the
given error output will be used to create the response.
The security inputs will become a tuple, containing first additionalSecurityInput
combined with the current
endpoint.securityInput
.
The error output will consist of two variants: either the securityErrorOutput
(the ClassTag requirement for E2
is used to
create the oneOfVariant). In the absence of sum types, the resulting errors are types as Any
.
The security logic is modified so that first additionalSecurityLogic
is run, followed by the security logic defined so far.
The type of the value returned by the combined security logic, or the regular logic remains unchanged.
- Type parameters:
- A2
Type of the additional security input.
- E2
Type of the error output for the security logic.
See prependSecurity.
See prependSecurity.
Inherited methods
The method defined in a fixed method input in this endpoint, if any (using e.g. EndpointInputsOps.get or EndpointInputsOps.post).
The method defined in a fixed method input in this endpoint, if any (using e.g. EndpointInputsOps.get or EndpointInputsOps.post).
- Inherited from:
- EndpointMetaOps
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 parameters:
- includeAuth
Should authentication inputs be included in the result.
- Inherited from:
- EndpointMetaOps
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
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
Equivalent to .toString
, shows the whole case class structure.
Equivalent to .toString
, shows the whole case class structure.
- Inherited from:
- EndpointMetaOps
Deprecated and Inherited methods
- Deprecated
[Since version 0.19.0]
- Inherited from:
- EndpointMetaOps