Class: Kaltura::KalturaUploadTokenService

Inherits:
KalturaServiceBase show all
Defined in:
lib/kaltura_client.rb

Instance Attribute Summary

Attributes inherited from KalturaServiceBase

#client

Instance Method Summary collapse

Constructor Details

#initialize(client) ⇒ KalturaUploadTokenService

Returns a new instance of KalturaUploadTokenService.



5258
5259
5260
# File 'lib/kaltura_client.rb', line 5258

def initialize(client)
	super(client)
end

Instance Method Details

#add(upload_token = KalturaNotImplemented) ⇒ KalturaUploadToken

Adds new upload token to upload a file

Returns:



5264
5265
5266
5267
5268
5269
5270
5271
5272
# 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) ⇒ Object

Deletes the upload token by upload token id

Returns:



5276
5277
5278
5279
5280
5281
5282
5283
5284
# 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) ⇒ KalturaUploadToken

Get upload token by id

Returns:



5288
5289
5290
5291
5292
5293
5294
5295
5296
# 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) ⇒ KalturaUploadTokenListResponse

List upload token by filter with pager support. When using a user session the service will be restricted to users objects only.



5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
# 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)) ⇒ KalturaUploadToken

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.

Returns:



5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
# 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