Package org.apache.synapse.transport.passthru

## Class PassThroughHttpSender

- java.lang.Object
- - org.apache.axis2.handlers.AbstractHandler
  - - org.apache.synapse.transport.passthru.PassThroughHttpSender

- All Implemented Interfaces:
    `org.apache.axis2.engine.Handler`, `org.apache.axis2.transport.TransportSender`
  Direct Known Subclasses:
    `PassThroughHttpSSLSender`

      public class PassThroughHttpSender
      extends org.apache.axis2.handlers.AbstractHandler
      implements org.apache.axis2.transport.TransportSender

  PassThroughHttpSender for Synapse based on HttpCore and NIO extensions

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.apache.axis2.engine.Handler

      `org.apache.axis2.engine.Handler.InvocationResponse`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected org.apache.commons.logging.Log` | `log` |

    - ### Fields inherited from class org.apache.axis2.handlers.AbstractHandler

      `handlerDesc`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `PassThroughHttpSender()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addPreserveHttpHeader​(String headerName)` |
    `void` | `cleanup​(org.apache.axis2.context.MessageContext messageContext)` |
    `protected Scheme` | `getScheme()` |
    `void` | `init​(org.apache.axis2.context.ConfigurationContext configurationContext, org.apache.axis2.description.TransportOutDescription transportOutDescription)` |
    `protected ClientConnFactoryBuilder` | `initConnFactoryBuilder​(org.apache.axis2.description.TransportOutDescription transportOut, org.apache.axis2.context.ConfigurationContext configurationContext)` |
    `org.apache.axis2.engine.Handler.InvocationResponse` | `invoke​(org.apache.axis2.context.MessageContext msgContext)` |
    `void` | `maintenanceShutdown​(long millis)` |
    `void` | `onAppError​(org.apache.axis2.context.MessageContext msgContext)` | This method will close the target connection upon endpoint timeout.
    `void` | `pause()` |
    `void` | `reloadDynamicSSLConfig​(org.apache.axis2.description.TransportOutDescription transport)` | Reload SSL configurations from configurations, reset all connections and restart the thread
    `void` | `removePreserveHttpHeader​(String headerName)` |
    `void` | `resume()` |
    `void` | `setContentType​(org.apache.axis2.context.MessageContext msgContext, SourceResponse sourceResponse, org.apache.axis2.transport.MessageFormatter formatter, org.apache.axiom.om.OMOutputFormat format, SourceConfiguration sourceConfiguration)` | Set content type headers along with the charactor encoding if content type header is not preserved
    `void` | `stop()` |
    `void` | `submitResponse​(org.apache.axis2.context.MessageContext msgContext)` |

    - ### Methods inherited from class org.apache.axis2.handlers.AbstractHandler

      `cleanup, flowComplete, getHandlerDesc, getName, getParameter, init, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface org.apache.axis2.engine.Handler

      `cleanup, flowComplete, getHandlerDesc, getName, getParameter, init`

- - ### Field Detail

    - #### log

          protected org.apache.commons.logging.Log log

  - ### Constructor Detail

    - #### PassThroughHttpSender

          public PassThroughHttpSender()

  - ### Method Detail

    - #### getScheme

          protected Scheme getScheme()

    - #### initConnFactoryBuilder

          protected ClientConnFactoryBuilder initConnFactoryBuilder​(org.apache.axis2.description.TransportOutDescription transportOut,
                                                                    org.apache.axis2.context.ConfigurationContext configurationContext)
                                                             throws org.apache.axis2.AxisFault

      Throws:
        `org.apache.axis2.AxisFault`

    - #### init

          public void init​(org.apache.axis2.context.ConfigurationContext configurationContext,
                           org.apache.axis2.description.TransportOutDescription transportOutDescription)
                    throws org.apache.axis2.AxisFault

      Specified by:
        `init` in interface `org.apache.axis2.transport.TransportSender`
      Throws:
        `org.apache.axis2.AxisFault`

    - #### cleanup

          public void cleanup​(org.apache.axis2.context.MessageContext messageContext)
                       throws org.apache.axis2.AxisFault

      Specified by:
        `cleanup` in interface `org.apache.axis2.transport.TransportSender`
      Throws:
        `org.apache.axis2.AxisFault`

    - #### stop

          public void stop()

      Specified by:
        `stop` in interface `org.apache.axis2.transport.TransportSender`

    - #### invoke

          public org.apache.axis2.engine.Handler.InvocationResponse invoke​(org.apache.axis2.context.MessageContext msgContext)
                                                                    throws org.apache.axis2.AxisFault

      Specified by:
        `invoke` in interface `org.apache.axis2.engine.Handler`
      Throws:
        `org.apache.axis2.AxisFault`

    - #### addPreserveHttpHeader

          public void addPreserveHttpHeader​(String headerName)

    - #### removePreserveHttpHeader

          public void removePreserveHttpHeader​(String headerName)

    - #### submitResponse

          public void submitResponse​(org.apache.axis2.context.MessageContext msgContext)
                              throws IOException,
                                     org.apache.http.HttpException

      Throws:
        `IOException`
        `org.apache.http.HttpException`

    - #### onAppError

          public void onAppError​(org.apache.axis2.context.MessageContext msgContext)

      This method will close the target connection upon endpoint timeout.
      Specified by:
        `onAppError` in interface `org.apache.axis2.transport.TransportSender`
      Parameters:
        `msgContext` - The outgoing message context sent via the sender

    - #### pause

          public void pause()
                     throws org.apache.axis2.AxisFault

      Throws:
        `org.apache.axis2.AxisFault`

    - #### resume

          public void resume()
                      throws org.apache.axis2.AxisFault

      Throws:
        `org.apache.axis2.AxisFault`

    - #### maintenanceShutdown

          public void maintenanceShutdown​(long millis)
                                   throws org.apache.axis2.AxisFault

      Throws:
        `org.apache.axis2.AxisFault`

    - #### reloadDynamicSSLConfig

          public void reloadDynamicSSLConfig​(org.apache.axis2.description.TransportOutDescription transport)
                                      throws org.apache.axis2.AxisFault

      Reload SSL configurations from configurations, reset all connections and restart the thread
      Parameters:
        `transport` - TransportOutDescription of the configuration
      Throws:
        `org.apache.axis2.AxisFault`

    - #### setContentType

          public void setContentType​(org.apache.axis2.context.MessageContext msgContext,
                                     SourceResponse sourceResponse,
                                     org.apache.axis2.transport.MessageFormatter formatter,
                                     org.apache.axiom.om.OMOutputFormat format,
                                     SourceConfiguration sourceConfiguration)

      Set content type headers along with the charactor encoding if content type header is not preserved
      Parameters:
        `msgContext` - message context
        `sourceResponse` - source response
        `formatter` - response formatter
        `format` - response format