Interface Interception.EntryPointInterceptor

Enclosing class:
Interception

@Deprecated @Contract public static interface Interception.EntryPointInterceptor
Deprecated.
this API is part of incubating features of Helidon. This API may change including backward incompatible changes and full removal. We welcome feedback for incubating features.
Interceptor around initial entry into the Helidon system.

The following should be considered entry points:

  • HTTP Request on the WebServer (includes grpc, initial web-socket request, graphQL)
  • Messaging inbound message handled by Helidon component
  • WebSocket message
  • Scheduling trigger
The exceptional behavior of this interceptor is that it is invoked exactly once for each entry point. This can be used for resource management, such as when there is a requirement to close resources after the request finishes.

Important note: entry point interceptors only trigger for entry points fully managed by Helidon, such as when using Helidon Declarative. This is not triggered when using injection without declarative endpoint (i.e. when setting up WebServer using routing imperatively).

  • Method Details

    • proceed

      <T> T proceed(InterceptionContext invocationContext, Interception.Interceptor.Chain<T> chain, Object... args) throws Exception
      Deprecated.
      Handle entry point interception.
      Type Parameters:
      T - type of the returned value
      Parameters:
      invocationContext - invocation context to access type and method information
      chain - interceptor chain, you must call Interception.Interceptor.Chain.proceed(Object[]) to continue
      args - original parameters of the intercepted method, to be passed to proceed method
      Returns:
      result of the proceed method
      Throws:
      Exception - in case the proceed method throws an exception, or the interceptor encounters a problem that should finish regular processing of the request