Creates a repeatable request entity for the input stream provided.
If the input stream provided, or any underlying wrapped input streams, supports the
InputStream#reset() method then it will be capable of repeating data
transmission. If the input stream provided does not supports this method, it will
automatically be wrapped in a
RepeatableInputStream -- in this case, the data
read from the wrapped input stream will be buffered up to the limit set by the JetS3t
property uploads.stream-retry-buffer-size (default: 131072 bytes).
This constructor also detects when an underlying
ProgressMonitoredInputStream is
present, and will notify this monitor if a repeat occurs.
If the JetS3t properties option httpclient.read-throttle
is set to a
non-zero value, all simultaneous uploads performed by this class will be throttled
to the specified speed.