trait RequestInterceptor[F[_]] extends Interceptor[F]
Allows intercepting the handling of request, before decoding using any of the endpoints is done. The request can be modified, before
invoking further behavior, passed through requestHandler. Ultimately, when all interceptors are run, logic decoding subsequent
endpoint inputs will be run.
A request interceptor is called once for a request.
Instead of calling the nested behavior, alternative responses can be returned using the responder.
Moreover, when calling requestHandler, an EndpointInterceptor can be provided, which will be added to the list of endpoint
interceptors to call. The order in which the endpoint interceptors will be called will correspond to their order in the interceptors
list in the server options. An "empty" interceptor can be provided using EndpointInterceptor.noop.
- F
The effect type constructor.
- Alphabetic
- By Inheritance
- RequestInterceptor
- Interceptor
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def apply[R, B](responder: Responder[F, B], requestHandler: (EndpointInterceptor[F]) => RequestHandler[F, R, B]): RequestHandler[F, R, B]
- R
The interpreter-specific supported capabilities, such as streaming support, websockets or
Any.- B
The interpreter-specific, low-level type of body.
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated