Class TenantPropagationHttpClientFilter
java.lang.Object
io.micronaut.multitenancy.propagation.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 Object
implements io.micronaut.http.filter.HttpClientFilter
HttpClientFilter
to enable Token propagation.- Since:
- 1.0
- Author:
- Sergio del Amo
-
Field Summary
Modifier and TypeFieldDescriptionprotected final io.micronaut.http.util.OutgoingHttpRequestProcessor
Utility to decide whether to process the request.protected final TenantPropagationConfiguration
Tenant Propagation Configuration.protected final TenantResolver
Bean responsible for resolving the tenant.protected final TenantWriter
bean responsible for writing the tenant to the target request.Fields inherited from interface io.micronaut.core.order.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
-
Constructor Summary
ConstructorDescriptionTenantPropagationHttpClientFilter
(TenantResolver tenantResolver, TenantWriter tokenWriter, TenantPropagationConfiguration tenantPropagationConfiguration, io.micronaut.http.util.OutgoingHttpRequestProcessor outgoingHttpRequestProcessor) -
Method Summary
Modifier and TypeMethodDescriptionorg.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 aTenantWriter
.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 Details
-
tenantPropagationConfiguration
Tenant Propagation Configuration. -
tokenWriter
bean responsible for writing the tenant to the target request. -
tenantResolver
Bean responsible for resolving the tenant. -
outgoingHttpRequestProcessor
protected final io.micronaut.http.util.OutgoingHttpRequestProcessor outgoingHttpRequestProcessorUtility to decide whether to process the request.
-
-
Constructor Details
-
TenantPropagationHttpClientFilter
public TenantPropagationHttpClientFilter(TenantResolver tenantResolver, TenantWriter tokenWriter, TenantPropagationConfiguration tenantPropagationConfiguration, io.micronaut.http.util.OutgoingHttpRequestProcessor outgoingHttpRequestProcessor) - Parameters:
tenantResolver
- bean responsible for resolving the tenanttokenWriter
- bean responsible for writing the token to the target requesttenantPropagationConfiguration
- Tenant Propagation configurationoutgoingHttpRequestProcessor
- Utility to decide whether to process the request
-
-
Method Details
-
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 aTenantWriter
.- Specified by:
doFilter
in interfaceio.micronaut.http.filter.HttpClientFilter
- Parameters:
targetRequest
- The target requestchain
- The filter chain- Returns:
- The publisher of the response
-