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
FieldsModifier and TypeFieldDescriptionprotected final io.micronaut.http.util.OutgoingHttpRequestProcessorUtility to decide whether to process the request.protected final TenantPropagationConfigurationTenant Propagation Configuration.protected final TenantResolverBean responsible for resolving the tenant.protected final TenantWriterbean responsible for writing the tenant to the target request.Fields inherited from interface io.micronaut.core.order.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE -
Constructor Summary
ConstructorsConstructorDescriptionTenantPropagationHttpClientFilter(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, waitMethods inherited from interface io.micronaut.http.filter.HttpClientFilter
doFilterMethods 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:
doFilterin interfaceio.micronaut.http.filter.HttpClientFilter- Parameters:
targetRequest- The target requestchain- The filter chain- Returns:
- The publisher of the response
-