Skip to content

Server-side typesafe Spine schema usageopensavvy.spine.serverTypedResponseScope

TypedResponseScope

interface TypedResponseScope<out In : Any, out Out : Any, out Failure : FailureSpec, out Params : Parameters>

Properties

body

abstract val body: In

call

abstract val call: ApplicationCall

endpoint

abstract val endpoint: Endpoint<out In, out Out, out Failure, out Params>

parameters

abstract val parameters: Params

Functions

fail

@JvmName
(name = "fail1")inline suspend fun <F : Any> TypedResponseScope<*, *, FailureSpec.Or<*, FailureSpec.ByCode<F>>, *>.fail(failure: F): Nothing
@JvmName
(name = "fail2")inline suspend fun <F : Any> TypedResponseScope<*, *, FailureSpec.Or<FailureSpec.Or<*, FailureSpec.ByCode<F>>, Nothing>, *>.fail(failure: F): Nothing
@JvmName
(name = "fail3")inline suspend fun <F : Any> TypedResponseScope<*, *, FailureSpec.Or<FailureSpec.Or<FailureSpec.Or<*, FailureSpec.ByCode<F>>, Nothing>, Nothing>, *>.fail(failure: F): Nothing
@JvmName
(name = "fail4")inline suspend fun <F : Any> TypedResponseScope<*, *, FailureSpec.Or<FailureSpec.Or<FailureSpec.Or<FailureSpec.Or<*, FailureSpec.ByCode<F>>, Nothing>, Nothing>, Nothing>, Nothing>.fail(failure: F): Nothing
@JvmName
(name = "fail5")inline suspend fun <F : Any> TypedResponseScope<*, *, FailureSpec.Or<FailureSpec.Or<FailureSpec.Or<FailureSpec.Or<FailureSpec.Or<*, FailureSpec.ByCode<F>>, Nothing>, Nothing>, Nothing>, Nothing>, Nothing>.fail(failure: F): Nothing
@JvmName
(name = "fail6")inline suspend fun <F : Any> TypedResponseScope<*, *, FailureSpec.Or<FailureSpec.Or<FailureSpec.Or<FailureSpec.Or<FailureSpec.Or<FailureSpec.Or<*, FailureSpec.ByCode<F>>, Nothing>, Nothing>, Nothing>, Nothing>, Nothing>, Nothing>.fail(failure: F): Nothing

idOf

open fun idOf(resource: DynamicResource<*>): String

Extracts the identifier for a DynamicResource as it was provided by the client.

respond

suspend fun TypedResponseScope<*, Unit, *, *>.respond(code: HttpStatusCode = HttpStatusCode.NoContent)
inline suspend fun <Out : Any> TypedResponseScope<*, Out, *, *>.respond(body: Out, code: HttpStatusCode = if (body == Unit) HttpStatusCode.NoContent else HttpStatusCode.OK)