Class ResumableUpload<TRequest, TResponse> (1.60.0)

public class ResumableUpload<TRequest, TResponse> : ResumableUpload<TRequest>

Media upload which uses Google's resumable media upload protocol to upload data. The version with two types contains both a request object and a response object.

Inheritance

object > ResumableUpload > ResumableUpload > ResumableUpload<TRequest, TResponse>

Namespace

GoogleApisUpload

Assembly

Google.Apis.dll

Type Parameters

Name Description
TRequest

The type of the body of this request. Generally this should be the metadata related to the content to be uploaded. Must be serializable to/from JSON.

TResponse

The type of the response body.

Remarks

See: https://developers.google.com/gdata/docs/resumable_upload for information on the protocol.

Constructors

ResumableUpload(IClientService, string, string, Stream, string)

protected ResumableUpload(IClientService service, string path, string httpMethod, Stream contentStream, string contentType)

Create a resumable upload instance with the required parameters.

Parameters
Name Description
service IClientService

The client service.

path string

The path for this media upload method.

httpMethod string

The HTTP method to start this upload.

contentStream Stream

The stream containing the content to upload.

contentType string

Content type of the content to be uploaded.

Remarks

Considerations regarding contentStream:

  • If contentStream is seekable, then the stream position will be reset to 0 before reading commences. If contentStream is not seekable, then it will be read from its current position.
  • Caller is responsible for maintaining the contentStream open until the upload is completed.
  • Caller is responsible for closing the contentStream.

Properties

ResponseBody

public TResponse ResponseBody { get; }

The response body.

Property Value
Type Description
TResponse
Remarks

This property will be set during upload. The ResponseReceived event is triggered when this has been set.

Methods

ProcessResponse(HttpResponseMessage)

protected override void ProcessResponse(HttpResponseMessage response)

Process the response body

Parameter
Name Description
response HttpResponseMessage
Overrides

Events

ResponseReceived

public event Action<TResponse> ResponseReceived

Event which is called when the response metadata is processed.

Event Type
Type Description
Action

Extension Method