Package io.micronaut.http.filter
Class BaseFilterProcessor<A extends Annotation>
java.lang.Object
io.micronaut.http.filter.BaseFilterProcessor<A>
- Type Parameters:
A- Filter annotation type
- All Implemented Interfaces:
io.micronaut.context.processor.AnnotationProcessor<A,,io.micronaut.inject.ExecutableMethod<?, ?>> io.micronaut.context.processor.ExecutableMethodProcessor<A>
@Internal
public abstract class BaseFilterProcessor<A extends Annotation>
extends Object
implements io.micronaut.context.processor.ExecutableMethodProcessor<A>
Base class for processing
ServerFilter and
ClientFilter beans.- Since:
- 4.0.0
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static final recordstatic interfaceInterface that signals toFilterRunnerthat we should wait for the request body to arrive before running this binder. -
Constructor Summary
ConstructorsConstructorDescriptionBaseFilterProcessor(@Nullable io.micronaut.context.BeanContext beanContext, Class<A> filterAnnotation) -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract voidaddFilter(Supplier<GenericHttpFilter> factory, io.micronaut.core.annotation.AnnotationMetadata methodAnnotations, BaseFilterProcessor.FilterMetadata metadata) Add a filter.prependContextPath(@NonNull List<String> patterns) Prepend server context path if necessary.voidprocess(io.micronaut.inject.BeanDefinition<?> beanDefinition, io.micronaut.inject.ExecutableMethod<?, ?> method)
-
Constructor Details
-
BaseFilterProcessor
-
-
Method Details
-
process
public void process(io.micronaut.inject.BeanDefinition<?> beanDefinition, io.micronaut.inject.ExecutableMethod<?, ?> method) - Specified by:
processin interfaceio.micronaut.context.processor.AnnotationProcessor<A extends Annotation,io.micronaut.inject.ExecutableMethod<?, ?>> - Specified by:
processin interfaceio.micronaut.context.processor.ExecutableMethodProcessor<A extends Annotation>
-
addFilter
protected abstract void addFilter(Supplier<GenericHttpFilter> factory, io.micronaut.core.annotation.AnnotationMetadata methodAnnotations, BaseFilterProcessor.FilterMetadata metadata) Add a filter. Called duringprocess(BeanDefinition, ExecutableMethod).- Parameters:
factory- Factory that will create the filter instancemethodAnnotations- Annotations on the filter methodmetadata- Filter metadata from class and method annotations
-
prependContextPath
@NonNull protected @NonNull List<String> prependContextPath(@NonNull @NonNull List<String> patterns) Prepend server context path if necessary.- Parameters:
patterns- Input patterns- Returns:
- Output patterns with server context path prepended
-