Packages

t

com.ing.wbaa.druid.client

RequestInterceptor

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.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. RequestInterceptor
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def exportConfig: Config

    Returns the active configuration of this interceptor.

  2. 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.

  3. 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 sendToDruid function 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

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  9. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  10. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  11. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  13. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  14. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  15. def toString(): String
    Definition Classes
    AnyRef → Any
  16. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  17. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  18. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. 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.

Inherited from AnyRef

Inherited from Any

Ungrouped