class Kaltura::KalturaUploadTokenService

Public Class Methods

new(client) click to toggle source
Calls superclass method
# File lib/kaltura_client.rb, line 5258
def initialize(client)
        super(client)
end

Public Instance Methods

add(upload_token=KalturaNotImplemented) click to toggle source

Adds new upload token to upload a file @return [KalturaUploadToken]

# File lib/kaltura_client.rb, line 5264
def add(upload_token=KalturaNotImplemented)
        kparams = {}
        client.add_param(kparams, 'uploadToken', upload_token)
        client.queue_service_action_call('uploadtoken', 'add', 'KalturaUploadToken', kparams)
        if (client.is_multirequest)
                return nil
        end
        return client.do_queue()
end
delete(upload_token_id) click to toggle source

Deletes the upload token by upload token id @return []

# File lib/kaltura_client.rb, line 5276
def delete(upload_token_id)
        kparams = {}
        client.add_param(kparams, 'uploadTokenId', upload_token_id)
        client.queue_service_action_call('uploadtoken', 'delete', '', kparams)
        if (client.is_multirequest)
                return nil
        end
        return client.do_queue()
end
get(upload_token_id) click to toggle source

Get upload token by id @return [KalturaUploadToken]

# File lib/kaltura_client.rb, line 5288
def get(upload_token_id)
        kparams = {}
        client.add_param(kparams, 'uploadTokenId', upload_token_id)
        client.queue_service_action_call('uploadtoken', 'get', 'KalturaUploadToken', kparams)
        if (client.is_multirequest)
                return nil
        end
        return client.do_queue()
end
list(filter=KalturaNotImplemented, pager=KalturaNotImplemented) click to toggle source

List upload token by filter with pager support.

When using a user session the service will be restricted to users objects only.

@return [KalturaUploadTokenListResponse]

# File lib/kaltura_client.rb, line 5301
def list(filter=KalturaNotImplemented, pager=KalturaNotImplemented)
        kparams = {}
        client.add_param(kparams, 'filter', filter)
        client.add_param(kparams, 'pager', pager)
        client.queue_service_action_call('uploadtoken', 'list', 'KalturaUploadTokenListResponse', kparams)
        if (client.is_multirequest)
                return nil
        end
        return client.do_queue()
end
upload(upload_token_id, file_data, resume=false, final_chunk=true, resume_at=-1) click to toggle source

Upload a file using the upload token id, returns an error on failure (an exception will be thrown when using one of the Kaltura clients)

Chunks can be uploaded in parallel and they will be appended according to their resumeAt position.
A parallel upload session should have three stages:
1. A single upload with resume=false and finalChunk=false
2. Parallel upload requests each with resume=true,finalChunk=false and the expected resumetAt position.
If a chunk fails to upload it can be re-uploaded.
3. After all of the chunks have been uploaded a final chunk (can be of zero size) should be uploaded 
with resume=true, finalChunk=true and the expected resumeAt position. In case an UPLOAD_TOKEN_CANNOT_MATCH_EXPECTED_SIZE exception
has been returned (indicating not all of the chunks were appended yet) the final request can be retried.

@return [KalturaUploadToken]

# File lib/kaltura_client.rb, line 5322
def upload(upload_token_id, file_data, resume=false, final_chunk=true, resume_at=-1)
        kparams = {}
        kfiles = {}
        client.add_param(kparams, 'uploadTokenId', upload_token_id)
        client.add_param(kfiles, 'fileData', file_data)
        client.add_param(kparams, 'resume', resume)
        client.add_param(kparams, 'finalChunk', final_chunk)
        client.add_param(kparams, 'resumeAt', resume_at)
        client.queue_service_action_call('uploadtoken', 'upload', 'KalturaUploadToken', kparams, kfiles)
        if (client.is_multirequest)
                return nil
        end
        return client.do_queue()
end