org.apache.cxf.transport.http
Class HTTPConduit.WrappedOutputStream

java.lang.Object
  extended by java.io.OutputStream
      extended by org.apache.cxf.io.AbstractWrappedOutputStream
          extended by org.apache.cxf.io.AbstractThresholdOutputStream
              extended by org.apache.cxf.transport.http.HTTPConduit.WrappedOutputStream
All Implemented Interfaces:
Closeable, Flushable
Enclosing class:
HTTPConduit

protected class HTTPConduit.WrappedOutputStream
extends AbstractThresholdOutputStream

Wrapper output stream responsible for flushing headers and handling the incoming HTTP-level response (not necessarily the MEP response).


Field Summary
protected  CacheAndWriteOutputStream cachedStream
          This field contains the output stream with which we cache the request.
protected  boolean cachingForRetransmission
          This boolean is true if the request must be cached.
protected  boolean chunking
          If we are going to be chunking, we won't flush till close which causes new chunks, small network packets, etc..
protected  String conduitName
           
protected  HttpURLConnection connection
          This field contains the currently active connection.
protected  Message outMessage
           
 
Fields inherited from class org.apache.cxf.io.AbstractThresholdOutputStream
buffer, threshold
 
Fields inherited from class org.apache.cxf.io.AbstractWrappedOutputStream
wrappedStream, written
 
Constructor Summary
protected HTTPConduit.WrappedOutputStream(HTTPConduit.WrappedOutputStream wos)
           
protected HTTPConduit.WrappedOutputStream(Message outMessage, HttpURLConnection connection, boolean possibleRetransmit, boolean isChunking, int chunkThreshold, String conduitName)
           
 
Method Summary
 void close()
          Perform any actions required on stream closure (handle response etc.)
 void flush()
           
protected  void handleHeadersTrustCaching()
           
protected  void handleResponse()
          This procedure is called on the close of the output stream so we are ready to handle the response from the connection.
protected  void handleResponseInternal()
           
protected  void handleRetransmits()
          This procedure handles all retransmits, if any.
protected  void onFirstWrite()
          Perform any actions required on stream flush (freeze headers, reset output stream ...
 void thresholdNotReached()
           
 void thresholdReached()
           
 
Methods inherited from class org.apache.cxf.io.AbstractThresholdOutputStream
unBuffer, write, write
 
Methods inherited from class org.apache.cxf.io.AbstractWrappedOutputStream
write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

connection

protected HttpURLConnection connection
This field contains the currently active connection.


cachingForRetransmission

protected boolean cachingForRetransmission
This boolean is true if the request must be cached.


chunking

protected final boolean chunking
If we are going to be chunking, we won't flush till close which causes new chunks, small network packets, etc..


cachedStream

protected CacheAndWriteOutputStream cachedStream
This field contains the output stream with which we cache the request. It maybe null if we are not caching.


outMessage

protected Message outMessage

conduitName

protected String conduitName
Constructor Detail

HTTPConduit.WrappedOutputStream

protected HTTPConduit.WrappedOutputStream(Message outMessage,
                                          HttpURLConnection connection,
                                          boolean possibleRetransmit,
                                          boolean isChunking,
                                          int chunkThreshold,
                                          String conduitName)

HTTPConduit.WrappedOutputStream

protected HTTPConduit.WrappedOutputStream(HTTPConduit.WrappedOutputStream wos)
Method Detail

thresholdNotReached

public void thresholdNotReached()
Specified by:
thresholdNotReached in class AbstractThresholdOutputStream

thresholdReached

public void thresholdReached()
Specified by:
thresholdReached in class AbstractThresholdOutputStream

onFirstWrite

protected void onFirstWrite()
                     throws IOException
Perform any actions required on stream flush (freeze headers, reset output stream ... etc.)

Overrides:
onFirstWrite in class AbstractWrappedOutputStream
Throws:
IOException

handleHeadersTrustCaching

protected void handleHeadersTrustCaching()
                                  throws IOException
Throws:
IOException

flush

public void flush()
           throws IOException
Specified by:
flush in interface Flushable
Overrides:
flush in class AbstractWrappedOutputStream
Throws:
IOException

close

public void close()
           throws IOException
Perform any actions required on stream closure (handle response etc.)

Specified by:
close in interface Closeable
Overrides:
close in class AbstractThresholdOutputStream
Throws:
IOException

handleRetransmits

protected void handleRetransmits()
                          throws IOException
This procedure handles all retransmits, if any.

Throws:
IOException

handleResponse

protected void handleResponse()
                       throws IOException
This procedure is called on the close of the output stream so we are ready to handle the response from the connection. We may retransmit until we finally get a response.

Throws:
IOException

handleResponseInternal

protected void handleResponseInternal()
                               throws IOException
Throws:
IOException


Apache CXF