@playkit-js/playkit-js-providers 2.39.1 → 2.39.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/dist/playkit-analytics-service.js +2 -0
- package/dist/playkit-analytics-service.js.map +1 -0
- package/dist/playkit-bookmark-service.js +2 -0
- package/dist/playkit-bookmark-service.js.map +1 -0
- package/dist/playkit-ott-provider.js +2 -0
- package/dist/playkit-ott-provider.js.map +1 -0
- package/dist/playkit-ovp-provider.js +2 -0
- package/dist/playkit-ovp-provider.js.map +1 -0
- package/dist/playkit-stats-service.js +2 -0
- package/dist/playkit-stats-service.js.map +1 -0
- package/package.json +1 -1
- package/.babelrc +0 -22
- package/.editorconfig +0 -10
- package/.eslintignore +0 -3
- package/.eslintrc.json +0 -26
- package/.flowconfig +0 -5
- package/.github/ISSUE_TEMPLATE.md +0 -28
- package/.github/PULL_REQUEST_TEMPLATE.md +0 -12
- package/.github/workflows/run_canary_full_flow.yaml +0 -28
- package/.github/workflows/run_prod.yaml +0 -24
- package/.github/workflows/run_tests.yaml +0 -24
- package/.prettierignore +0 -7
- package/.prettierrc +0 -12
- package/docs/configuration.md +0 -225
- package/karma.conf.js +0 -42
- package/src/entities/bumper.js +0 -23
- package/src/entities/drm.js +0 -46
- package/src/entities/entry-list.js +0 -15
- package/src/entities/image-source.js +0 -37
- package/src/entities/media-entry.js +0 -96
- package/src/entities/media-format.js +0 -46
- package/src/entities/media-source.js +0 -70
- package/src/entities/media-sources.js +0 -79
- package/src/entities/playlist.js +0 -37
- package/src/index.html +0 -11
- package/src/k-provider/common/base-provider-parser.js +0 -0
- package/src/k-provider/common/base-provider.js +0 -110
- package/src/k-provider/common/base-service-result.js +0 -57
- package/src/k-provider/common/data-loader-manager.js +0 -115
- package/src/k-provider/common/multi-request-builder.js +0 -112
- package/src/k-provider/common/response-types/kaltura-access-control-message.js +0 -22
- package/src/k-provider/common/response-types/kaltura-drm-playback-plugin-data.js +0 -39
- package/src/k-provider/ott/config.js +0 -22
- package/src/k-provider/ott/index.js +0 -15
- package/src/k-provider/ott/loaders/asset-list-loader.js +0 -68
- package/src/k-provider/ott/loaders/asset-loader.js +0 -69
- package/src/k-provider/ott/loaders/data-loader-manager.js +0 -15
- package/src/k-provider/ott/loaders/session-loader.js +0 -62
- package/src/k-provider/ott/provider-parser.js +0 -282
- package/src/k-provider/ott/provider.js +0 -242
- package/src/k-provider/ott/response-types/kaltura-asset.js +0 -79
- package/src/k-provider/ott/response-types/kaltura-bumper-playback-plugin-data.js +0 -28
- package/src/k-provider/ott/response-types/kaltura-playback-context.js +0 -74
- package/src/k-provider/ott/response-types/kaltura-playback-source.js +0 -63
- package/src/k-provider/ott/response-types/kaltura-rule-action.js +0 -26
- package/src/k-provider/ott/services/asset-service.js +0 -50
- package/src/k-provider/ott/services/bookmark/bookmark-service.js +0 -49
- package/src/k-provider/ott/services/bookmark/index.js +0 -12
- package/src/k-provider/ott/services/ott-service.js +0 -34
- package/src/k-provider/ott/services/user-service.js +0 -32
- package/src/k-provider/ovp/config.js +0 -28
- package/src/k-provider/ovp/external-captions-builder.js +0 -38
- package/src/k-provider/ovp/index.js +0 -13
- package/src/k-provider/ovp/loaders/data-loader-manager.js +0 -17
- package/src/k-provider/ovp/loaders/entry-list-loader.js +0 -69
- package/src/k-provider/ovp/loaders/media-entry-loader.js +0 -84
- package/src/k-provider/ovp/loaders/playlist-loader.js +0 -66
- package/src/k-provider/ovp/loaders/session-loader.js +0 -62
- package/src/k-provider/ovp/loaders/ui-config-loader.js +0 -71
- package/src/k-provider/ovp/play-source-url-builder.js +0 -60
- package/src/k-provider/ovp/provider-parser.js +0 -451
- package/src/k-provider/ovp/provider.js +0 -344
- package/src/k-provider/ovp/regex-action-handler.js +0 -147
- package/src/k-provider/ovp/request-params/base-entry-response-profile.js +0 -29
- package/src/k-provider/ovp/response-types/index.js +0 -18
- package/src/k-provider/ovp/response-types/kaltura-access-control-modify-request-host-regex-action.js +0 -36
- package/src/k-provider/ovp/response-types/kaltura-base-entry-list-response.js +0 -31
- package/src/k-provider/ovp/response-types/kaltura-bumper.js +0 -26
- package/src/k-provider/ovp/response-types/kaltura-flavor-asset.js +0 -109
- package/src/k-provider/ovp/response-types/kaltura-media-entries.js +0 -23
- package/src/k-provider/ovp/response-types/kaltura-media-entry.js +0 -141
- package/src/k-provider/ovp/response-types/kaltura-metadata-list-response.js +0 -23
- package/src/k-provider/ovp/response-types/kaltura-metadata.js +0 -51
- package/src/k-provider/ovp/response-types/kaltura-playback-context.js +0 -96
- package/src/k-provider/ovp/response-types/kaltura-playback-source.js +0 -90
- package/src/k-provider/ovp/response-types/kaltura-playlist.js +0 -35
- package/src/k-provider/ovp/response-types/kaltura-rule-action.js +0 -28
- package/src/k-provider/ovp/response-types/kaltura-ui-conf-response.js +0 -90
- package/src/k-provider/ovp/services/analytics/analytics-service.js +0 -57
- package/src/k-provider/ovp/services/analytics/index.js +0 -12
- package/src/k-provider/ovp/services/base-entry-service.js +0 -76
- package/src/k-provider/ovp/services/meta-data-service.js +0 -30
- package/src/k-provider/ovp/services/ovp-service.js +0 -33
- package/src/k-provider/ovp/services/playlist-service.js +0 -63
- package/src/k-provider/ovp/services/session-service.js +0 -28
- package/src/k-provider/ovp/services/stats/index.js +0 -12
- package/src/k-provider/ovp/services/stats/stats-service.js +0 -33
- package/src/k-provider/ovp/services/ui-conf-service.js +0 -33
- package/src/util/clone.js +0 -23
- package/src/util/error/category.js +0 -12
- package/src/util/error/code.js +0 -79
- package/src/util/error/error.js +0 -48
- package/src/util/error/severity.js +0 -23
- package/src/util/logger.js +0 -108
- package/src/util/param.js +0 -45
- package/src/util/request-builder.js +0 -187
- package/src/util/xml-parser.js +0 -40
- package/test/.eslintrc.json +0 -9
- package/test/setup/karma.js +0 -5
- package/test/setup/load-specs.js +0 -13
- package/test/setup/prepare-test-environment.js +0 -17
- package/test/src/k-provider/ott/be-data.js +0 -3306
- package/test/src/k-provider/ott/media-config-data.js +0 -793
- package/test/src/k-provider/ott/provider-parser.spec.js +0 -30
- package/test/src/k-provider/ott/provider.spec.js +0 -384
- package/test/src/k-provider/ott/services/bookmark-service.spec.js +0 -38
- package/test/src/k-provider/ovp/be-data.js +0 -3932
- package/test/src/k-provider/ovp/external-captions-builder.spec.js +0 -59
- package/test/src/k-provider/ovp/media-config-data.js +0 -1509
- package/test/src/k-provider/ovp/playback-sources-data.js +0 -229
- package/test/src/k-provider/ovp/provider-parser-data.js +0 -142
- package/test/src/k-provider/ovp/provider-parser.spec.js +0 -96
- package/test/src/k-provider/ovp/provider.spec.js +0 -1075
- package/test/src/k-provider/ovp/regex-action-handler-data.js +0 -794
- package/test/src/k-provider/ovp/regex-action-handler.spec.js +0 -93
- package/test/src/k-provider/ovp/services/analytics-service.spec.js +0 -62
- package/test/src/k-provider/ovp/services/stats-service.spec.js +0 -37
- package/test/src/util/param.spec.js +0 -23
- package/webpack.config.js +0 -85
package/src/util/param.js
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
const param = a => {
|
|
2
|
-
let s = [],
|
|
3
|
-
rbracket = /\[\]$/,
|
|
4
|
-
isArray = function (obj) {
|
|
5
|
-
return Object.prototype.toString.call(obj) === '[object Array]';
|
|
6
|
-
},
|
|
7
|
-
add = function (k, v) {
|
|
8
|
-
v = typeof v === 'function' ? v() : v === null ? '' : v === undefined ? '' : v;
|
|
9
|
-
s[s.length] = encodeURIComponent(k) + '=' + encodeURIComponent(v);
|
|
10
|
-
},
|
|
11
|
-
buildParams = function (prefix, obj) {
|
|
12
|
-
let i, len, key;
|
|
13
|
-
|
|
14
|
-
if (prefix) {
|
|
15
|
-
if (isArray(obj)) {
|
|
16
|
-
for (i = 0, len = obj.length; i < len; i++) {
|
|
17
|
-
if (rbracket.test(prefix)) {
|
|
18
|
-
add(prefix, obj[i]);
|
|
19
|
-
} else {
|
|
20
|
-
buildParams(prefix + ':' + (typeof obj[i] === 'object' ? i : ''), obj[i]);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
} else if (obj && String(obj) === '[object Object]') {
|
|
24
|
-
for (key in obj) {
|
|
25
|
-
buildParams(prefix + ':' + key, obj[key]);
|
|
26
|
-
}
|
|
27
|
-
} else {
|
|
28
|
-
add(prefix, obj);
|
|
29
|
-
}
|
|
30
|
-
} else if (isArray(obj)) {
|
|
31
|
-
for (i = 0, len = obj.length; i < len; i++) {
|
|
32
|
-
add(obj[i].name, obj[i].value);
|
|
33
|
-
}
|
|
34
|
-
} else {
|
|
35
|
-
for (key in obj) {
|
|
36
|
-
buildParams(key, obj[key]);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
return s;
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
return buildParams('', a).join('&').replace(/%20/g, '+');
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
export {param};
|
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
//@flow
|
|
2
|
-
import Error from './error/error';
|
|
3
|
-
|
|
4
|
-
const KALTURA_HEADER_PREFIX: string = 'x-';
|
|
5
|
-
|
|
6
|
-
export default class RequestBuilder {
|
|
7
|
-
/**
|
|
8
|
-
* @member - Service name
|
|
9
|
-
* @type {string}
|
|
10
|
-
*/
|
|
11
|
-
service: string;
|
|
12
|
-
/**
|
|
13
|
-
* @member - Service action
|
|
14
|
-
* @type {string}
|
|
15
|
-
*/
|
|
16
|
-
action: string;
|
|
17
|
-
/**
|
|
18
|
-
* @member - Service params
|
|
19
|
-
* @type {any}
|
|
20
|
-
*/
|
|
21
|
-
params: any;
|
|
22
|
-
/**
|
|
23
|
-
* @memberof - Service headers
|
|
24
|
-
* @type {Map<string, string>}
|
|
25
|
-
*/
|
|
26
|
-
headers: Map<string, string>;
|
|
27
|
-
/**
|
|
28
|
-
* @memberof - Service URL
|
|
29
|
-
* @type {string}
|
|
30
|
-
*/
|
|
31
|
-
url: string;
|
|
32
|
-
/**
|
|
33
|
-
* @memberof - Service method (POST,GET,DELETE etc..)
|
|
34
|
-
* @type {string}
|
|
35
|
-
*/
|
|
36
|
-
method: string;
|
|
37
|
-
/**
|
|
38
|
-
* @memberof - Service tag
|
|
39
|
-
* @type {string}
|
|
40
|
-
*/
|
|
41
|
-
tag: string;
|
|
42
|
-
/**
|
|
43
|
-
* @memberof - the response headers of the arra
|
|
44
|
-
* @type {Array<string>}
|
|
45
|
-
*/
|
|
46
|
-
responseHeaders: Array<string>;
|
|
47
|
-
/**
|
|
48
|
-
* @description network retry configuration
|
|
49
|
-
* @memberof RequestBuilder
|
|
50
|
-
* @type {ProviderNetworkRetryParameters}
|
|
51
|
-
*/
|
|
52
|
-
retryConfig: ProviderNetworkRetryParameters = {
|
|
53
|
-
async: true,
|
|
54
|
-
timeout: 0,
|
|
55
|
-
maxAttempts: 4
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* @description number of xhr attempts for the same multi - request.
|
|
60
|
-
* @memberof RequestBuilder
|
|
61
|
-
* @type {number}
|
|
62
|
-
* @private
|
|
63
|
-
*/
|
|
64
|
-
_attemptCounter: number = 1;
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* @description hold the promise result of the XHR request(s) - if all tries fails, it rejects with the error.
|
|
68
|
-
* @memberof RequestBuilder
|
|
69
|
-
* @type {Object}
|
|
70
|
-
* @private
|
|
71
|
-
*/
|
|
72
|
-
_requestPromise: Object;
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* @constructor
|
|
76
|
-
* @param {Map<string, string>} headers The request headers
|
|
77
|
-
*/
|
|
78
|
-
constructor(headers: Map<string, string> = new Map()) {
|
|
79
|
-
this.headers = headers;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* Builds restful service URL
|
|
84
|
-
* @function getUrl
|
|
85
|
-
* @param {string} serviceUrl - The service base URL
|
|
86
|
-
* @returns {string} The service URL
|
|
87
|
-
*/
|
|
88
|
-
getUrl(serviceUrl: string): string {
|
|
89
|
-
return serviceUrl + '/service/' + this.service + (this.action ? '/action/' + this.action : '');
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* Executes service
|
|
94
|
-
* @function doHttpRequest
|
|
95
|
-
* @returns {Promise.<any>} Service response as promise
|
|
96
|
-
*/
|
|
97
|
-
doHttpRequest(): Promise<any> {
|
|
98
|
-
const promise = new Promise((resolve, reject) => {
|
|
99
|
-
this._requestPromise = {
|
|
100
|
-
resolve,
|
|
101
|
-
reject
|
|
102
|
-
};
|
|
103
|
-
});
|
|
104
|
-
if (!this.url) {
|
|
105
|
-
this._requestPromise.reject(
|
|
106
|
-
new Error(Error.Severity.CRITICAL, Error.Category.NETWORK, Error.Code.MALFORMED_DATA_URI, {
|
|
107
|
-
url: this.url
|
|
108
|
-
})
|
|
109
|
-
);
|
|
110
|
-
}
|
|
111
|
-
this._createXHR();
|
|
112
|
-
return promise;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
_createXHR(): void {
|
|
116
|
-
let request = new XMLHttpRequest();
|
|
117
|
-
request.onreadystatechange = () => {
|
|
118
|
-
if (request.readyState === 4) {
|
|
119
|
-
if (request.status === 200) {
|
|
120
|
-
try {
|
|
121
|
-
const response = JSON.parse(request.responseText);
|
|
122
|
-
this.responseHeaders = this._getResponseHeaders(request);
|
|
123
|
-
// the promise returns the response for backwards compatibility
|
|
124
|
-
return this._requestPromise.resolve(response);
|
|
125
|
-
} catch (error) {
|
|
126
|
-
this._requestPromise.reject(
|
|
127
|
-
this._createError(request, Error.Code.BAD_SERVER_RESPONSE, {
|
|
128
|
-
text: request.responseText
|
|
129
|
-
})
|
|
130
|
-
);
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
};
|
|
135
|
-
request.open(this.method, this.url, this.retryConfig.async);
|
|
136
|
-
if (this.retryConfig.async && this.retryConfig.timeout) {
|
|
137
|
-
request.timeout = this.retryConfig.timeout;
|
|
138
|
-
}
|
|
139
|
-
const requestTime = performance.now();
|
|
140
|
-
request.ontimeout = () => {
|
|
141
|
-
this._handleError(request, Error.Code.TIMEOUT, {
|
|
142
|
-
timeout: (performance.now() - requestTime) / 1000,
|
|
143
|
-
statusText: request.statusText
|
|
144
|
-
});
|
|
145
|
-
};
|
|
146
|
-
request.onerror = request.onabort = () => {
|
|
147
|
-
this._handleError(request, Error.Code.HTTP_ERROR, {
|
|
148
|
-
text: request.responseText,
|
|
149
|
-
statusText: request.statusText
|
|
150
|
-
});
|
|
151
|
-
};
|
|
152
|
-
this.headers.forEach((value, key) => {
|
|
153
|
-
request.setRequestHeader(key, value);
|
|
154
|
-
});
|
|
155
|
-
request.send(this.params);
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
_getResponseHeaders(request: XMLHttpRequest): Array<string> {
|
|
159
|
-
return request
|
|
160
|
-
.getAllResponseHeaders()
|
|
161
|
-
.split('\n')
|
|
162
|
-
.filter(header => header.toLowerCase().indexOf(KALTURA_HEADER_PREFIX) === 0);
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
_handleError(request: XMLHttpRequest, code: number, data: Object): Promise<*> | void {
|
|
166
|
-
const error = this._createError(request, code, data);
|
|
167
|
-
request.onreadystatechange = function () {};
|
|
168
|
-
request.onerror = function () {};
|
|
169
|
-
request.ontimeout = function () {};
|
|
170
|
-
request.onabort = function () {};
|
|
171
|
-
if (this.retryConfig.maxAttempts && this._attemptCounter < this.retryConfig.maxAttempts) {
|
|
172
|
-
this._attemptCounter++;
|
|
173
|
-
this._createXHR();
|
|
174
|
-
} else {
|
|
175
|
-
return this._requestPromise.reject(error);
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
_createError(request: XMLHttpRequest, code: number, data: Object): Error {
|
|
180
|
-
Object.assign(data, {
|
|
181
|
-
url: this.url,
|
|
182
|
-
headers: this._getResponseHeaders(request),
|
|
183
|
-
attempt: this._attemptCounter
|
|
184
|
-
});
|
|
185
|
-
return new Error(Error.Severity.CRITICAL, Error.Category.NETWORK, code, data);
|
|
186
|
-
}
|
|
187
|
-
}
|
package/src/util/xml-parser.js
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
//@flow
|
|
2
|
-
export default class XmlParser {
|
|
3
|
-
/**
|
|
4
|
-
* Parses xml string to json object
|
|
5
|
-
* @param {string} xml The xml to parse
|
|
6
|
-
* @returns {{}} The parsed xml as Json object
|
|
7
|
-
* @static
|
|
8
|
-
*/
|
|
9
|
-
static xmlToJson(xml: Object) {
|
|
10
|
-
let obj = {};
|
|
11
|
-
if (xml.nodeType === 1) {
|
|
12
|
-
if (xml.attributes.length > 0) {
|
|
13
|
-
obj['@attributes'] = {};
|
|
14
|
-
for (let j = 0; j < xml.attributes.length; j++) {
|
|
15
|
-
let attribute = xml.attributes.item(j);
|
|
16
|
-
obj['@attributes'][attribute.nodeName] = attribute.nodeValue;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
} else if (xml.nodeType === 3) {
|
|
20
|
-
obj = xml.nodeValue;
|
|
21
|
-
}
|
|
22
|
-
if (xml.hasChildNodes()) {
|
|
23
|
-
for (let i = 0; i < xml.childNodes.length; i++) {
|
|
24
|
-
let item = xml.childNodes.item(i);
|
|
25
|
-
let nodeName = item.nodeName;
|
|
26
|
-
if (typeof obj[nodeName] === 'undefined') {
|
|
27
|
-
obj[nodeName] = this.xmlToJson(item);
|
|
28
|
-
} else {
|
|
29
|
-
if (typeof obj[nodeName].push === 'undefined') {
|
|
30
|
-
let old = obj[nodeName];
|
|
31
|
-
obj[nodeName] = [];
|
|
32
|
-
obj[nodeName].push(old);
|
|
33
|
-
}
|
|
34
|
-
obj[nodeName].push(this.xmlToJson(item));
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
return obj;
|
|
39
|
-
}
|
|
40
|
-
}
|
package/test/.eslintrc.json
DELETED
package/test/setup/karma.js
DELETED
package/test/setup/load-specs.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import chai from 'chai';
|
|
2
|
-
import sinonChai from 'sinon-chai';
|
|
3
|
-
import sinon from 'sinon/pkg/sinon';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* @returns {void}
|
|
7
|
-
*/
|
|
8
|
-
export function prepareTestEnvironment() {
|
|
9
|
-
chai.should();
|
|
10
|
-
chai.use(sinonChai);
|
|
11
|
-
global.chai = chai;
|
|
12
|
-
global.expect = chai.expect;
|
|
13
|
-
global.should = chai.should;
|
|
14
|
-
global.sinon = sinon;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export default prepareTestEnvironment;
|