net.noderunner.http
Class GeneralDataPoster

java.lang.Object
  extended by net.noderunner.http.GeneralDataPoster
All Implemented Interfaces:
DataPoster

public class GeneralDataPoster
extends Object
implements DataPoster

A utility class for sending binary data to an HTTP server or client. Example usage:

 HttpClient client = new RetryHttpClient("http://example.net");
 InputStream fileIS = new FileInputStream("somefile.jpeg");
 DataPoster dataPoster = new GeneralDataPoster(fileIS, -1);
 RequestLine rl = new RequestLineImpl( ... );
 ClientRequest request = new ClientRequestImpl(rl, dataPoster);

 client.writeRequest(request);
 ClientResponse response = client.readResponse();
 


Constructor Summary
GeneralDataPoster(InputStream is, int len)
          Constructs a new GeneralDataPoster that outputs data from the specified stream.
 
Method Summary
protected  int getDefaultBufferSize()
          Return the default buffer size, which is 1024 bytes.
 void sendData(OutputStream os)
          Copies our input stream data to the supplied output stream.
 String toString()
          Returns a debug string.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

GeneralDataPoster

public GeneralDataPoster(InputStream is,
                         int len)
Constructs a new GeneralDataPoster that outputs data from the specified stream.

Parameters:
is - input stream to read for output
len - if zero, we do nothing, if < 0, we send chunked data, if > 0 we sent only len number of bytes
Method Detail

sendData

public void sendData(OutputStream os)
              throws IOException
Copies our input stream data to the supplied output stream. Does nothing if the number of bytes to send is zero.

Specified by:
sendData in interface DataPoster
Parameters:
os - output stream to send data to
Throws:
IllegalHttpStateException - if the input stream was never set
HttpException - if the data was already read from our stream, and the input stream cannot be reset
IOException - if data could not be written

getDefaultBufferSize

protected int getDefaultBufferSize()
Return the default buffer size, which is 1024 bytes.


toString

public String toString()
Returns a debug string.

Overrides:
toString in class Object


Copyright © 2011. All Rights Reserved.