|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.google.api.client.googleapis.MediaHttpUploader
public final class MediaHttpUploader
Media HTTP Uploader. Has support for resumable media uploads following the specifications listed here.
Implementation is not thread-safe.
Nested Class Summary | |
---|---|
static class |
MediaHttpUploader.UploadState
Upload state associated with the Media HTTP uploader. |
Field Summary | |
---|---|
static int |
DEFAULT_CHUNK_SIZE
Default maximum number of bytes that will be uploaded to the server in any single HTTP request (set to 10 MB). |
static int |
MINIMUM_CHUNK_SIZE
Minimum number of bytes that can be uploaded to the server (set to 256KB). |
Constructor Summary | |
---|---|
MediaHttpUploader(AbstractInputStreamContent mediaContent,
HttpTransport transport,
HttpRequestInitializer httpRequestInitializer)
Construct the MediaHttpUploader . |
Method Summary | |
---|---|
int |
getChunkSize()
Returns the maximum size of individual chunks that will get uploaded by single HTTP requests. |
GoogleHeaders |
getInitiationHeaders()
Returns the HTTP headers used for the initiation request. |
HttpMethod |
getInitiationMethod()
Returns the HTTP method used for the initiation request. |
HttpContent |
getMediaContent()
Returns the HTTP content of the media to be uploaded. |
HttpContent |
getMetadata()
Returns HTTP content metadata for the media request or null for none. |
long |
getNumBytesUploaded()
Gets the total number of bytes uploaded by this uploader. |
double |
getProgress()
Gets the upload progress denoting the percentage of bytes that have been uploaded, represented between 0.0 (0%) and 1.0 (100%). |
MediaHttpUploaderProgressListener |
getProgressListener()
Returns the progress listener to send progress notifications to or null for none. |
HttpTransport |
getTransport()
Returns the transport to use for requests. |
MediaHttpUploader.UploadState |
getUploadState()
Gets the current upload state of the uploader. |
boolean |
isBackOffPolicyEnabled()
Returns whether the back off policy is enabled or disabled. |
void |
serverErrorCallback()
The call back method that will be invoked by MediaExponentialBackOffPolicy.getNextBackOffMillis() if it encounters a server error. |
MediaHttpUploader |
setBackOffPolicyEnabled(boolean backOffPolicyEnabled)
Sets whether the back off policy is enabled or disabled. |
MediaHttpUploader |
setChunkSize(int chunkSize)
Sets the maximum size of individual chunks that will get uploaded by single HTTP requests. |
MediaHttpUploader |
setInitiationHeaders(GoogleHeaders initiationHeaders)
Sets the HTTP headers used for the initiation request. |
MediaHttpUploader |
setInitiationMethod(HttpMethod initiationMethod)
Sets the HTTP method used for the initiation request. |
MediaHttpUploader |
setMetadata(HttpContent metadata)
Sets HTTP content metadata for the media request or null for none. |
MediaHttpUploader |
setProgressListener(MediaHttpUploaderProgressListener progressListener)
Sets the progress listener to send progress notifications to or null for none. |
HttpResponse |
upload(GenericUrl initiationRequestUrl)
Executes a resumable media upload conforming to the specifications listed here. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int MINIMUM_CHUNK_SIZE
public static final int DEFAULT_CHUNK_SIZE
Constructor Detail |
---|
public MediaHttpUploader(AbstractInputStreamContent mediaContent, HttpTransport transport, HttpRequestInitializer httpRequestInitializer)
MediaHttpUploader
.
mediaContent
- The Input stream content of the media to be uploaded. The input stream
received by calling AbstractInputStreamContent.getInputStream()
is closed when the
upload process is successfully completedtransport
- The transport to use for requestshttpRequestInitializer
- The initializer to use when creating an HttpRequest
or
null
for noneMethod Detail |
---|
public HttpResponse upload(GenericUrl initiationRequestUrl) throws IOException
This method is not reentrant. A new instance of MediaHttpUploader
must be instantiated
before upload called be called again.
If an error is encountered during the request execution the caller is responsible for parsing the response correctly. For example for JSON errors:
if (!response.isSuccessStatusCode()) { throw GoogleJsonResponseException.from(jsonFactory, response); }
initiationRequestUrl
- The request URL where the initiation request will be sent
IOException
public void serverErrorCallback() throws IOException
MediaExponentialBackOffPolicy.getNextBackOffMillis()
if it encounters a server error.
This method should only be used as a call back method after upload(com.google.api.client.http.GenericUrl)
is invoked.
This method will query the current status of the upload to find how many bytes were successfully uploaded before the server error occurred. It will then adjust the HTTP Request object used by the BackOffPolicy to contain the correct range header and media content chunk.
IOException
public HttpContent getMetadata()
null
for none.
public MediaHttpUploader setMetadata(HttpContent metadata)
null
for none.
public HttpContent getMediaContent()
public HttpTransport getTransport()
public MediaHttpUploader setBackOffPolicyEnabled(boolean backOffPolicyEnabled)
false
then
server errors are not handled and the upload process will fail if a server error is
encountered. Defaults to true
.
public boolean isBackOffPolicyEnabled()
false
then server errors are not handled and the upload process will fail if a server error is
encountered. Defaults to true
.
public MediaHttpUploader setProgressListener(MediaHttpUploaderProgressListener progressListener)
null
for none.
public MediaHttpUploaderProgressListener getProgressListener()
null
for none.
public MediaHttpUploader setChunkSize(int chunkSize)
DEFAULT_CHUNK_SIZE
.
The minimum allowable value is MINIMUM_CHUNK_SIZE
.
public int getChunkSize()
DEFAULT_CHUNK_SIZE
.
public MediaHttpUploader setInitiationMethod(HttpMethod initiationMethod)
HttpMethod.POST
(for
media upload) or HttpMethod.PUT
(for media update). The default value is
HttpMethod.POST
.
public HttpMethod getInitiationMethod()
HttpMethod.POST
.
public MediaHttpUploader setInitiationHeaders(GoogleHeaders initiationHeaders)
public GoogleHeaders getInitiationHeaders()
public long getNumBytesUploaded()
public MediaHttpUploader.UploadState getUploadState()
public double getProgress() throws IOException
IOException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |