Class TenantPropagationHttpClientFilter

  • All Implemented Interfaces:
    io.micronaut.core.order.Ordered, io.micronaut.http.filter.HttpClientFilter, io.micronaut.http.filter.HttpFilter

    @Filter("${micronaut.multitenancy.propagation.path:/**}")
    @Requires(beans={TenantWriter.class,TenantResolver.class,TenantPropagationConfiguration.class,io.micronaut.http.util.OutgoingHttpRequestProcessor.class}) @Requires(property="micronaut.multitenancy.propagation.enabled")
    public class TenantPropagationHttpClientFilter
    extends java.lang.Object
    implements io.micronaut.http.filter.HttpClientFilter
    HttpClientFilter to enable Token propagation.
    Since:
    1.0
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      org.reactivestreams.Publisher<? extends io.micronaut.http.HttpResponse<?>> doFilter​(io.micronaut.http.MutableHttpRequest<?> targetRequest, io.micronaut.http.filter.ClientFilterChain chain)
      If the request should be processed and the tenant id is resolved, the tenant is written to the targeted request with a TenantWriter.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface io.micronaut.http.filter.HttpClientFilter

        doFilter
      • Methods inherited from interface io.micronaut.core.order.Ordered

        getOrder
    • Field Detail

      • tokenWriter

        protected final TenantWriter tokenWriter
        bean responsible for writing the tenant to the target request.
      • tenantResolver

        protected final TenantResolver tenantResolver
        Bean responsible for resolving the tenant.
      • outgoingHttpRequestProcessor

        protected final io.micronaut.http.util.OutgoingHttpRequestProcessor outgoingHttpRequestProcessor
        Utility to decide whether to process the request.
    • Constructor Detail

      • TenantPropagationHttpClientFilter

        public TenantPropagationHttpClientFilter​(TenantResolver tenantResolver,
                                                 TenantWriter tokenWriter,
                                                 TenantPropagationConfiguration tenantPropagationConfiguration,
                                                 io.micronaut.http.util.OutgoingHttpRequestProcessor outgoingHttpRequestProcessor)
        Parameters:
        tenantResolver - bean responsible for resolving the tenant
        tokenWriter - bean responsible for writing the token to the target request
        tenantPropagationConfiguration - Tenant Propagation configuration
        outgoingHttpRequestProcessor - Utility to decide whether to process the request
    • Method Detail

      • doFilter

        public org.reactivestreams.Publisher<? extends io.micronaut.http.HttpResponse<?>> doFilter​(io.micronaut.http.MutableHttpRequest<?> targetRequest,
                                                                                                   io.micronaut.http.filter.ClientFilterChain chain)
        If the request should be processed and the tenant id is resolved, the tenant is written to the targeted request with a TenantWriter.
        Specified by:
        doFilter in interface io.micronaut.http.filter.HttpClientFilter
        Parameters:
        targetRequest - The target request
        chain - The filter chain
        Returns:
        The publisher of the response