nee-ctx-web-ktor
Module Contents
alltypes
Module Contents
sealed class ApiError
interface ApplicationContextProvider<CTX, LOCAL>
abstract class BaseWebContextProvider<R, G : TxProvider<R, G>> : WebContextProvider<R, G>
object BasicAuth
class BasicAuthProvider<USERID, ROLE> : SecurityProvider<USERID, ROLE>
object DefaultErrorHandler : ErrorHandler
object DefaultJacksonMapper
class EffectsInstance<R, G : TxProvider<R, G>>
Module Contents
EffectsInstance()
val async: Effect<WebContext<R, G>, Nothing>
fun cache(): Cache<R, G>
class Cache<R, G : TxProvider<R, G>>
val nop: Effect<WebContext<R, G>, Nothing>
val plainFx: PlainInstances<R, G>
class PlainInstances<R, G : TxProvider<R, G>>
fun secured(roles: List<UserRole>): Effect<WebContext<R, G>, SecurityError>
val trace: TraceEffect<WebContext<R, G>>
val tx: Effect<WebContext<R, G>, TxError>
typealias ErrorHandler = (Any) -> OutgoingContent
abstract class JDBCBasedWebContextProvider : BaseWebContextProvider<Connection, JDBCProvider>
class JwtAuthProvider<USER, ROLE> : SecurityProvider<USER, ROLE>
data class OauthLoginData
class OauthSupportApi
class RenderHelper : Logging
class TokenSecurityContext<USER, ROLE> : SecurityCtx<USER, ROLE>
data class WebContext<R, G : TxProvider<R, G>> : TxProvider<R, WebContext<R, G>>, SecurityProvider<User, UserRole>, ExecutionContextProvider, TraceProvider<WebContext<R, G>>, TimeProvider, Logging, AsyncSupport<WebContext<R, G>>
Module Contents
WebContext(jdbcProvider: TxProvider<R, G>, securityProvider: SecurityProvider<User, UserRole>, executionContextProvider: ExecutionContextProvider, errorHandler: ErrorHandler = DefaultErrorHandler, contextProvider: WebContextProvider<R, G>, traceProvider: TraceProvider<*>, timeProvider: TimeProvider, applicationCall: ApplicationCall, asyncEnv: AsyncEnvWrapper<WebContext<R, G>> = AsyncEnvWrapper())
fun getConnection(): TxConnection<R>
fun getTrace(): TraceResource
suspend fun <E, A> serveMessage(msg: Out<E, A>): Unit
suspend fun serveMessage(businessFunction: ANee<WebContext<R, G>, Any>): Unit
suspend fun serveText(businessFunction: ANee<WebContext<R, G>, String>): Unit
fun setConnectionState(newState: TxConnection<R>): WebContext<R, G>
fun setTrace(newState: TraceResource): WebContext<R, G>
interface WebContextProvider<R, G : TxProvider<R, G>>
package dev.neeffect.nee.ctx.web
Module Contents
interface ApplicationContextProvider<CTX, LOCAL>
abstract class BaseWebContextProvider<R, G : TxProvider<R, G>> : WebContextProvider<R, G>
object BasicAuth
class BasicAuthProvider<USERID, ROLE> : SecurityProvider<USERID, ROLE>
object DefaultErrorHandler : ErrorHandler
object DefaultJacksonMapper
class EffectsInstance<R, G : TxProvider<R, G>>
Module Contents
EffectsInstance()
val async: Effect<WebContext<R, G>, Nothing>
fun cache(): Cache<R, G>
class Cache<R, G : TxProvider<R, G>>
val nop: Effect<WebContext<R, G>, Nothing>
val plainFx: PlainInstances<R, G>
class PlainInstances<R, G : TxProvider<R, G>>
fun secured(roles: List<UserRole>): Effect<WebContext<R, G>, SecurityError>
val trace: TraceEffect<WebContext<R, G>>
val tx: Effect<WebContext<R, G>, TxError>
typealias ErrorHandler = (Any) -> OutgoingContent
abstract class JDBCBasedWebContextProvider : BaseWebContextProvider<Connection, JDBCProvider>
data class WebContext<R, G : TxProvider<R, G>> : TxProvider<R, WebContext<R, G>>, SecurityProvider<User, UserRole>, ExecutionContextProvider, TraceProvider<WebContext<R, G>>, TimeProvider, Logging, AsyncSupport<WebContext<R, G>>
Module Contents
WebContext(jdbcProvider: TxProvider<R, G>, securityProvider: SecurityProvider<User, UserRole>, executionContextProvider: ExecutionContextProvider, errorHandler: ErrorHandler = DefaultErrorHandler, contextProvider: WebContextProvider<R, G>, traceProvider: TraceProvider<*>, timeProvider: TimeProvider, applicationCall: ApplicationCall, asyncEnv: AsyncEnvWrapper<WebContext<R, G>> = AsyncEnvWrapper())
fun getConnection(): TxConnection<R>
fun getTrace(): TraceResource
suspend fun <E, A> serveMessage(msg: Out<E, A>): Unit
suspend fun serveMessage(businessFunction: ANee<WebContext<R, G>, Any>): Unit
suspend fun serveText(businessFunction: ANee<WebContext<R, G>, String>): Unit
fun setConnectionState(newState: TxConnection<R>): WebContext<R, G>
fun setTrace(newState: TraceResource): WebContext<R, G>
interface WebContextProvider<R, G : TxProvider<R, G>>
package dev.neeffect.nee.ctx.web.jwt
package dev.neeffect.nee.ctx.web.oauth
package dev.neeffect.nee.ctx.web.util