Interface StreamInterceptor

  • All Known Implementing Classes:
    DefaultStreamInterceptor, LoggingStreamInterceptor

    public interface StreamInterceptor
    Interface For Stream Interceptors

    Interceptors are invoked when the data is received to the synapse engine or when data is sent out of the engine.

    After a connection is established, the data is read chunk wise/ whenever available. The same applies when the data leaves the engine as well. There are two requests coming into the engine and two responses going out from the engine. Interceptors will be invoked in all of these four phases

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void addProperty​(String name, Object value)
      Add an interceptor property
      Map getProperties()
      Get all interceptor properties
      boolean interceptSourceRequest​(org.apache.axis2.context.MessageContext axisCtx)
      Logic to determine whether to intercept the source request
      boolean interceptSourceResponse​(org.apache.axis2.context.MessageContext axisCtx)
      Logic to determine whether to intercept the source response
      boolean interceptTargetRequest​(org.apache.axis2.context.MessageContext axisCtx)
      Logic to determine whether to intercept the target request
      boolean interceptTargetResponse​(org.apache.axis2.context.MessageContext axisCtx)
      Logic to determine whether to intercept the target response
      boolean sourceRequest​(ByteBuffer buffer, org.apache.axis2.context.MessageContext axisCtx)
      Handles the request data coming in to the engine from the client
      void sourceResponse​(ByteBuffer buffer, org.apache.axis2.context.MessageContext axisCtx)
      Handles the response data leaving out of the engine
      void targetRequest​(ByteBuffer buffer, org.apache.axis2.context.MessageContext axisCtx)
      Handles the request data leaving out of the engine
      boolean targetResponse​(ByteBuffer buffer, org.apache.axis2.context.MessageContext axisCtx)
      Handles the response data coming in to the engine from the back end
    • Method Detail

      • interceptSourceRequest

        boolean interceptSourceRequest​(org.apache.axis2.context.MessageContext axisCtx)
        Logic to determine whether to intercept the source request
        Parameters:
        axisCtx - associated axis2MsgCtx of the request
        Returns:
        intercept source request or not
      • sourceRequest

        boolean sourceRequest​(ByteBuffer buffer,
                              org.apache.axis2.context.MessageContext axisCtx)
        Handles the request data coming in to the engine from the client
        Parameters:
        buffer - copy of data entering in
        axisCtx - associated axis2MsgCtx
        Returns:
        whether to continue reading the data or to close the connection
      • interceptTargetRequest

        boolean interceptTargetRequest​(org.apache.axis2.context.MessageContext axisCtx)
        Logic to determine whether to intercept the target request
        Parameters:
        axisCtx - associated axis2MsgCtx of the request
        Returns:
        intercept target request or not
      • targetRequest

        void targetRequest​(ByteBuffer buffer,
                           org.apache.axis2.context.MessageContext axisCtx)
        Handles the request data leaving out of the engine
        Parameters:
        buffer - copy of data being send out
        axisCtx - associated axis2MsgCtx
      • interceptTargetResponse

        boolean interceptTargetResponse​(org.apache.axis2.context.MessageContext axisCtx)
        Logic to determine whether to intercept the target response
        Parameters:
        axisCtx - associated axis2MsgCtx of the response
        Returns:
        intercept target response or not
      • targetResponse

        boolean targetResponse​(ByteBuffer buffer,
                               org.apache.axis2.context.MessageContext axisCtx)
        Handles the response data coming in to the engine from the back end
        Parameters:
        buffer - copy of data entering in
        axisCtx - associated axis2MsgCtx
        Returns:
        whether to continue reading the data or to close the connection
      • interceptSourceResponse

        boolean interceptSourceResponse​(org.apache.axis2.context.MessageContext axisCtx)
        Logic to determine whether to intercept the source response
        Parameters:
        axisCtx - associated axis2MsgCtx of the response
        Returns:
        intercept source response or not
      • sourceResponse

        void sourceResponse​(ByteBuffer buffer,
                            org.apache.axis2.context.MessageContext axisCtx)
        Handles the response data leaving out of the engine
        Parameters:
        buffer - copy of data leaving
        axisCtx - associated axis2MsgCtx
      • addProperty

        void addProperty​(String name,
                         Object value)
        Add an interceptor property
        Parameters:
        name - property name
        value - property value
      • getProperties

        Map getProperties()
        Get all interceptor properties
        Returns:
        Map of handler properties