trait RequestInterceptor extends AnyRef
Customization hook for altering the request flow in DruidAdvancedHttpClient. This is primarily intended to handle
authentication requirements. The advanced client always uses a single interceptor, which defaults to a no-op
implementation. There is no support for chaining interceptors into a filter chain, but you could write a composite
interceptor to overcome this.
- Alphabetic
- By Inheritance
- RequestInterceptor
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def exportConfig: Config
Returns the active configuration of this interceptor.
- abstract def interceptRequest(request: HttpRequest): HttpRequest
Intercept the outgoing request before it is transmitted.
Intercept the outgoing request before it is transmitted.
- request
the outgoing request.
- returns
the request that's to be sent to Druid.
- abstract def interceptResponse(request: HttpRequest, response: Future[HttpResponse], sendToDruid: (HttpRequest) => Future[HttpResponse])(implicit ec: ExecutionContext): Future[HttpResponse]
Intercept the incoming response before it's decoded.
Intercept the incoming response before it's decoded. This method can be implemented to intercept an incoming authentication challenge, reach out to an authentication system such as a token issuer, and then re-transmit the original request to Druid with appropriate authentication headers.
Implementors should be aware that any request sent through the provided
sendToDruidfunction will itself pass through the request interception hooks. Be careful not to infinitely recurse.- request
the original, outgoing request.
- response
the response that came back from the server.
- sendToDruid
call this function to transmit a (modified) request to the Druid endpoint.
- ec
asynchronous context.
- returns
the response future containing the answer to the original Druid query.
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
- Deprecated
(Since version ) see corresponding Javadoc for more information.