UNPKG

@kaltura-ng/kaltura-client

Version:
92 lines 4.02 kB
var __extends = (this && this.__extends) || (function () { var extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); import { KalturaResponse } from "./kaltura-response"; import { KalturaRequestBase } from "./kaltura-request-base"; import { KalturaAPIException } from './kaltura-api-exception'; var KalturaRequest = (function (_super) { __extends(KalturaRequest, _super); function KalturaRequest(data, _a) { var responseType = _a.responseType, responseSubType = _a.responseSubType, responseConstructor = _a.responseConstructor; var _this = _super.call(this, data) || this; _this.responseSubType = responseSubType; _this.responseType = responseType; _this._responseConstructor = responseConstructor; return _this; } KalturaRequest.prototype.setCompletion = function (callback) { this.callback = callback; return this; }; KalturaRequest.prototype._unwrapResponse = function (response) { // if response is object without 'objectType' property and with 'result' property -> it is ott response if (response && typeof response === 'object' && !response.objectType && response.result) { // if response.result is object without 'objectType' property and with 'error' property -> it is ott error response if (typeof response.result === 'object' && !response.result.objectType && response.result.error) { return response.result.error; } else { return response.result; } } else { return response; } }; KalturaRequest.prototype.handleResponse = function (response) { var responseResult; var responseError; try { var unwrappedResponse = this._unwrapResponse(response); var responseObject = null; if (unwrappedResponse) { if (unwrappedResponse.objectType === 'KalturaAPIException') { responseObject = _super.prototype._parseResponseProperty.call(this, "", { type: 'o', subType: 'KalturaAPIException' }, unwrappedResponse); } else { responseObject = _super.prototype._parseResponseProperty.call(this, "", { type: this.responseType, subType: this.responseSubType }, unwrappedResponse); } } if (!responseObject && this.responseType !== 'v') { responseError = new KalturaAPIException('client::response_type_error', "server response is undefined, expected '" + this.responseType + " / " + this.responseSubType + "'"); } else if (responseObject instanceof KalturaAPIException) { // got exception from library responseError = responseObject; } else { responseResult = responseObject; } } catch (ex) { // TODO [kmc] should implement responseError = new KalturaAPIException('client::general_error', ex.message); } var result = new KalturaResponse(responseResult, responseError); if (this.callback) { try { this.callback(result); } catch (ex) { // do nothing by design } } return result; }; return KalturaRequest; }(KalturaRequestBase)); export { KalturaRequest }; //# sourceMappingURL=kaltura-request.js.map