api

http4k / org.http4k.lens / BodyLens

BodyLens

open class BodyLens<out FINAL> : LensExtractor<HttpMessage, FINAL> (source)

A BodyLens provides the uni-directional extraction of an entity from a target body.

Constructors

Name Summary
<init> BodyLens(metas: List<Meta>, contentType: ContentType, getLens: (HttpMessage) -> FINAL)
A BodyLens provides the uni-directional extraction of an entity from a target body.

Properties

Name Summary
contentType val contentType: ContentType
metas val metas: List<Meta>

Functions

Name Summary
invoke open operator fun invoke(target: HttpMessage): FINAL
Lens operation to get the value from the target

Inherited Functions

Name Summary
extract open fun extract(target: IN): OUT
Lens operation to get the value from the target. Synonym for invoke(IN)
get open operator fun <R : IN> get(target: R): OUT
Lens operation to get the value from the target. Synonym for invoke(IN)

Extension Functions

Name Summary
and infix fun Trigger.and(that: Trigger): Trigger
asFilter fun Stage.asFilter(): Filter
Converts this chaos behaviour to a standard http4k Filter.
asK8sServer fun HttpHandler.asK8sServer(serverConfig: (port: Int) -> ServerConfig, port: Int = 8000, healthApp: HttpHandler = Health(), healthPort: Int = 8001): Http4kK8sServer
fun HttpHandler.asK8sServer(serverConfig: (port: Int) -> ServerConfig, env: Environment = ENV, healthApp: HttpHandler = Health()): Http4kK8sServer
asServer fun HttpHandler.asServer(fn: (Int) -> ServerConfig, port: Port): Http4kServer
fun WsHandler.asServer(config: WsServerConfig): Http4kServer
fun HttpHandler.asServer(config: ServerConfig): Http4kServer
asServlet fun HttpHandler.asServlet(): HttpHandlerServlet
not operator fun Trigger.not(): (Request) -> Boolean
or infix fun Trigger.or(that: Trigger): Trigger
testWsClient fun WsHandler.testWsClient(request: Request): TestWsClient?
then fun Stage.then(nextStage: Stage): Stage
Chain the next ChaosBehaviour to apply when this stage is finished.
until fun Stage.until(trigger: Trigger): Stage
Stop applying the ChaosBehaviour of this stage when the ChaosTrigger fires.
with fun <T> T.with(vararg modifiers: (T) -> T): T
withAsyncApi fun HttpHandler.withAsyncApi(): AsyncHttpClient
Convert a synchronous HttpHandler API to mimic AsyncHttpClient
withChaosControls fun HttpHandler.~~withChaosControls~~(stage: Stage = ChaosStages.Wait, security: Security = NoSecurity, controlsPath: String = "/chaos", openApiPath: String = "", corsPolicy: CorsPolicy = CorsPolicy.UnsafeGlobalPermissive): RoutingHttpHandler
withChaosEngine fun HttpHandler.withChaosEngine(stage: Stage = Wait, security: Security = NoSecurity, controlsPath: String = "/chaos", openApiPath: String = "", corsPolicy: CorsPolicy = UnsafeGlobalPermissive): RoutingHttpHandler
Convert a standard HttpHandler to be Chaos-enabled, using the passed ChaosStage. Optionally a Security can be passed to limit access to the chaos controls.

Inheritors

Name Summary
BiDiBodyLens class BiDiBodyLens<FINAL> : LensInjector<FINAL, HttpMessage>, BodyLens<FINAL>
A BiDiBodyLens provides the bi-directional extraction of an entity from a target body, or the insertion of an entity into a target body.