Package org.apache.synapse.transport.passthru

## Class SourceResponse

- java.lang.Object
- - org.apache.synapse.transport.passthru.SourceResponse

-     public class SourceResponse
      extends Object

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SourceResponse​(SourceConfiguration config, int status, String statusLine, SourceRequest request)` |
    `SourceResponse​(SourceConfiguration config, int status, SourceRequest request)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addHeader​(String name, String value)` |
    `void` | `checkResponseChunkDisable​(org.apache.axis2.context.MessageContext responseMsgContext)` |
    `void` | `connect​(Pipe pipe)` |
    `ByteBuffer` | `copyAndWrite​(org.apache.http.nio.NHttpServerConnection conn, org.apache.http.nio.ContentEncoder encoder)` | Same as `write(org.apache.http.nio.NHttpServerConnection, org.apache.http.nio.ContentEncoder)` but gives out the data consumed through the Pipe
    `String` | `getHeader​(String name)` |
    `boolean` | `hasEntity()` |
    `void` | `removeHeader​(String name)` |
    `void` | `setKeepAlive​(boolean keepAlive)` |
    `void` | `setStatus​(int status)` |
    `void` | `start​(org.apache.http.nio.NHttpServerConnection conn)` | Starts the response by writing the headers
    `int` | `write​(org.apache.http.nio.NHttpServerConnection conn, org.apache.http.nio.ContentEncoder encoder)` | Consume the content through the Pipe and write them to the wire

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

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

- - ### Constructor Detail

    - #### SourceResponse

          public SourceResponse​(SourceConfiguration config,
                                int status,
                                SourceRequest request)

    - #### SourceResponse

          public SourceResponse​(SourceConfiguration config,
                                int status,
                                String statusLine,
                                SourceRequest request)

  - ### Method Detail

    - #### connect

          public void connect​(Pipe pipe)

    - #### start

          public void start​(org.apache.http.nio.NHttpServerConnection conn)
                     throws IOException,
                            org.apache.http.HttpException

      Starts the response by writing the headers
      Parameters:
        `conn` - connection
      Throws:
        `IOException` - if an error occurs
        `org.apache.http.HttpException` - if an error occurs

    - #### checkResponseChunkDisable

          public void checkResponseChunkDisable​(org.apache.axis2.context.MessageContext responseMsgContext)
                                         throws IOException

      Throws:
        `IOException`

    - #### write

          public int write​(org.apache.http.nio.NHttpServerConnection conn,
                           org.apache.http.nio.ContentEncoder encoder)
                    throws IOException

      Consume the content through the Pipe and write them to the wire
      Parameters:
        `conn` - connection
        `encoder` - encoder
      Returns:
        number of bytes written
      Throws:
        `IOException` - if an error occurs

    - #### copyAndWrite

          public ByteBuffer copyAndWrite​(org.apache.http.nio.NHttpServerConnection conn,
                                         org.apache.http.nio.ContentEncoder encoder)
                                  throws IOException

      Same as `write(org.apache.http.nio.NHttpServerConnection, org.apache.http.nio.ContentEncoder)` but gives out the data consumed through the Pipe
      Parameters:
        `conn` - connection
        `encoder` - encoder
      Returns:
        data consumed
      Throws:
        `IOException` - if an error occurs

    - #### addHeader

          public void addHeader​(String name,
                                String value)

    - #### setStatus

          public void setStatus​(int status)

    - #### removeHeader

          public void removeHeader​(String name)

    - #### getHeader

          public String getHeader​(String name)

    - #### hasEntity

          public boolean hasEntity()

    - #### setKeepAlive

          public void setKeepAlive​(boolean keepAlive)