@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
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
//@flow
|
|
2
|
-
import OVPService from '../ovp-service';
|
|
3
|
-
import RequestBuilder from '../../../../util/request-builder';
|
|
4
|
-
import OVPConfiguration from '../../config';
|
|
5
|
-
import {param} from '../../../../util/param';
|
|
6
|
-
|
|
7
|
-
const SERVICE_NAME: string = 'analytics';
|
|
8
|
-
|
|
9
|
-
export default class OVPAnalyticsService extends OVPService {
|
|
10
|
-
/**
|
|
11
|
-
* Creates an instance of RequestBuilder for analytics.trackEvent
|
|
12
|
-
* @function trackEvent
|
|
13
|
-
* @param {string} serviceUrl - The service base url
|
|
14
|
-
* @param {Object} params - The event params
|
|
15
|
-
* @param {string} [requestMethod] - The request method GET or POST
|
|
16
|
-
* @returns {RequestBuilder} - The request builder
|
|
17
|
-
* @static
|
|
18
|
-
*/
|
|
19
|
-
static trackEvent(serviceUrl: string, params: Object, requestMethod: ?string): RequestBuilder {
|
|
20
|
-
return requestMethod === 'POST'
|
|
21
|
-
? OVPAnalyticsService._trackEventByPOST(serviceUrl, params)
|
|
22
|
-
: OVPAnalyticsService._trackEventByGET(serviceUrl, params);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
static _trackEventByGET(serviceUrl: string, params: Object): RequestBuilder {
|
|
26
|
-
const ovpParams = OVPConfiguration.get();
|
|
27
|
-
const serviceParams = {};
|
|
28
|
-
Object.assign(serviceParams, ovpParams.serviceParams, params);
|
|
29
|
-
const request = new RequestBuilder();
|
|
30
|
-
request.service = SERVICE_NAME;
|
|
31
|
-
request.action = 'trackEvent';
|
|
32
|
-
request.method = 'GET';
|
|
33
|
-
request.tag = 'analytics-trackEvent';
|
|
34
|
-
request.params = serviceParams;
|
|
35
|
-
request.url = serviceUrl + '?service=' + request.service + '&action=' + request.action + '&' + param(request.params);
|
|
36
|
-
return request;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
static _trackEventByPOST(serviceUrl: string, params: Object): RequestBuilder {
|
|
40
|
-
const ovpParams = OVPConfiguration.get();
|
|
41
|
-
const serviceParams = {};
|
|
42
|
-
Object.assign(serviceParams, ovpParams.serviceParams, params);
|
|
43
|
-
const headers: Map<string, string> = new Map();
|
|
44
|
-
headers.set('Content-Type', 'application/json');
|
|
45
|
-
const request = new RequestBuilder(headers);
|
|
46
|
-
const {eventType, partnerId, entryId, sessionId} = serviceParams;
|
|
47
|
-
const urlParams = {eventType, partnerId, entryId, sessionId};
|
|
48
|
-
['eventType', 'partnerId', 'entryId', 'sessionId'].forEach(key => delete serviceParams[key]);
|
|
49
|
-
request.service = SERVICE_NAME;
|
|
50
|
-
request.action = 'trackEvent';
|
|
51
|
-
request.method = 'POST';
|
|
52
|
-
request.tag = 'analytics-trackEvent';
|
|
53
|
-
request.params = JSON.stringify(serviceParams);
|
|
54
|
-
request.url = serviceUrl + '?service=' + request.service + '&action=' + request.action + '&' + param(urlParams);
|
|
55
|
-
return request;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
// @flow
|
|
2
|
-
import RequestBuilder from '../../../../util/request-builder';
|
|
3
|
-
import OVPConfiguration from '../../config';
|
|
4
|
-
import OVPAnalyticsService from './analytics-service';
|
|
5
|
-
|
|
6
|
-
declare var __VERSION__: string;
|
|
7
|
-
declare var __NAME__: string;
|
|
8
|
-
|
|
9
|
-
const NAME = __NAME__ + '-analytics-service';
|
|
10
|
-
const VERSION = __VERSION__;
|
|
11
|
-
|
|
12
|
-
export {OVPAnalyticsService, OVPConfiguration, RequestBuilder, NAME, VERSION};
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
//@flow
|
|
2
|
-
import OVPService from './ovp-service';
|
|
3
|
-
import RequestBuilder from '../../../util/request-builder';
|
|
4
|
-
import {BaseEntryResponseProfile} from '../request-params/base-entry-response-profile';
|
|
5
|
-
|
|
6
|
-
const SERVICE_NAME: string = 'baseEntry';
|
|
7
|
-
|
|
8
|
-
export default class OVPBaseEntryService extends OVPService {
|
|
9
|
-
/**
|
|
10
|
-
* Creates an instance of RequestBuilder for baseentry.getPlaybackContext
|
|
11
|
-
* @function getPlaybackContext
|
|
12
|
-
* @param {string} serviceUrl The service base URL
|
|
13
|
-
* @param {string} ks The ks
|
|
14
|
-
* @param {serviceEntryId} serviceEntryId The entry id from the request result (to support loading by referenceId)
|
|
15
|
-
* @returns {RequestBuilder} The request builder
|
|
16
|
-
* @static
|
|
17
|
-
*/
|
|
18
|
-
static getPlaybackContext(serviceUrl: string, ks: string, serviceEntryId: string): RequestBuilder {
|
|
19
|
-
const headers: Map<string, string> = new Map();
|
|
20
|
-
headers.set('Content-Type', 'application/json');
|
|
21
|
-
const request = new RequestBuilder(headers);
|
|
22
|
-
request.service = SERVICE_NAME;
|
|
23
|
-
request.action = 'getPlaybackContext';
|
|
24
|
-
request.method = 'POST';
|
|
25
|
-
request.url = request.getUrl(serviceUrl);
|
|
26
|
-
request.tag = 'baseEntry-getPlaybackContext';
|
|
27
|
-
const contextDataParams = {objectType: 'KalturaContextDataParams', flavorTags: 'all'};
|
|
28
|
-
request.params = {entryId: serviceEntryId, ks: ks, contextDataParams: contextDataParams};
|
|
29
|
-
return request;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Creates an instance of RequestBuilder for baseentry.list
|
|
34
|
-
* @function list
|
|
35
|
-
* @param {string} serviceUrl The base URL
|
|
36
|
-
* @param {string} ks The ks
|
|
37
|
-
* @param {string} entryId The entry ID
|
|
38
|
-
* @param {boolean} redirectFromEntryId whether the live entry should continue and play the VOD one after the live stream ends.
|
|
39
|
-
* @param {string} referenceId a Reference id instead of an entry id
|
|
40
|
-
* @returns {RequestBuilder} The request builder
|
|
41
|
-
* @static
|
|
42
|
-
*/
|
|
43
|
-
static list(serviceUrl: string, ks: string, entryId: string, redirectFromEntryId: boolean, referenceId: string): RequestBuilder {
|
|
44
|
-
const headers: Map<string, string> = new Map();
|
|
45
|
-
headers.set('Content-Type', 'application/json');
|
|
46
|
-
const request = new RequestBuilder(headers);
|
|
47
|
-
request.service = SERVICE_NAME;
|
|
48
|
-
request.action = 'list';
|
|
49
|
-
request.method = 'POST';
|
|
50
|
-
request.url = request.getUrl(serviceUrl);
|
|
51
|
-
request.tag = 'list';
|
|
52
|
-
request.params = OVPBaseEntryService.getEntryListReqParams(entryId, ks, redirectFromEntryId, referenceId);
|
|
53
|
-
return request;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Gets baseentry.list service params
|
|
58
|
-
* @function getEntryListReqParams
|
|
59
|
-
* @param {string} entryId The entry ID
|
|
60
|
-
* @param {string} ks The ks
|
|
61
|
-
* @param {boolean} redirectFromEntryId whether the live entry should continue and play the VOD one after the live stream ends.
|
|
62
|
-
* @param {string} referenceId a Reference id instead of an entry id
|
|
63
|
-
* @returns {{ks: string, filter: {redirectFromEntryId: string}, responseProfile: {fields: string, type: number}}} The service params object
|
|
64
|
-
* @static
|
|
65
|
-
*/
|
|
66
|
-
static getEntryListReqParams(entryId: string, ks: string, redirectFromEntryId: boolean, referenceId: string): any {
|
|
67
|
-
let filterParams = {};
|
|
68
|
-
if (entryId) {
|
|
69
|
-
filterParams = redirectFromEntryId ? {redirectFromEntryId: entryId} : {idEqual: entryId};
|
|
70
|
-
} else if (referenceId) {
|
|
71
|
-
filterParams = {objectType: 'KalturaBaseEntryFilter', referenceIdEqual: referenceId};
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
return {ks: ks, filter: filterParams, responseProfile: new BaseEntryResponseProfile()};
|
|
75
|
-
}
|
|
76
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
//@flow
|
|
2
|
-
import OVPService from './ovp-service';
|
|
3
|
-
import RequestBuilder from '../../../util/request-builder';
|
|
4
|
-
|
|
5
|
-
const SERVICE_NAME: string = 'metadata_metadata';
|
|
6
|
-
|
|
7
|
-
export default class OVPMetadataService extends OVPService {
|
|
8
|
-
/**
|
|
9
|
-
* Creates an instance of RequestBuilder for metadata_metadata.list
|
|
10
|
-
* @function getPlaybackContext
|
|
11
|
-
* @param {string} serviceUrl The service base URL
|
|
12
|
-
* @param {string} ks The ks
|
|
13
|
-
* @param {string} entryId The entry ID
|
|
14
|
-
* @returns {RequestBuilder} The request builder
|
|
15
|
-
* @static
|
|
16
|
-
*/
|
|
17
|
-
static list(serviceUrl: string, ks: string, entryId: string): RequestBuilder {
|
|
18
|
-
const headers: Map<string, string> = new Map();
|
|
19
|
-
headers.set('Content-Type', 'application/json');
|
|
20
|
-
const request = new RequestBuilder(headers);
|
|
21
|
-
request.service = SERVICE_NAME;
|
|
22
|
-
request.action = 'list';
|
|
23
|
-
request.method = 'POST';
|
|
24
|
-
request.url = request.getUrl(serviceUrl);
|
|
25
|
-
request.tag = 'metadata_metadata-list';
|
|
26
|
-
const filter = {objectType: 'KalturaMetadataFilter', objectIdEqual: entryId, metadataObjectTypeEqual: '1'};
|
|
27
|
-
request.params = {filter: filter, ks: ks};
|
|
28
|
-
return request;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
//@flow
|
|
2
|
-
import MultiRequestBuilder from '../../common/multi-request-builder';
|
|
3
|
-
import OVPConfiguration from '../config';
|
|
4
|
-
|
|
5
|
-
const SERVICE_NAME: string = 'multirequest';
|
|
6
|
-
|
|
7
|
-
export default class OVPService {
|
|
8
|
-
/**
|
|
9
|
-
* Gets a new instance of MultiRequestBuilder with ovp params
|
|
10
|
-
* @function getMultiRequest
|
|
11
|
-
* @param {string} playerVersion The player version
|
|
12
|
-
* @param {string} ks The ks
|
|
13
|
-
* @param {string} partnerId The partner ID
|
|
14
|
-
* @returns {MultiRequestBuilder} The multi request builder
|
|
15
|
-
* @static
|
|
16
|
-
*/
|
|
17
|
-
static getMultiRequest(playerVersion: string, ks: string, partnerId?: number): MultiRequestBuilder {
|
|
18
|
-
const config = OVPConfiguration.get();
|
|
19
|
-
const ovpParams = config.serviceParams;
|
|
20
|
-
Object.assign(ovpParams, {ks: ks, clientTag: 'html5:v' + playerVersion});
|
|
21
|
-
if (partnerId) {
|
|
22
|
-
Object.assign(ovpParams, {partnerId: partnerId});
|
|
23
|
-
}
|
|
24
|
-
const headers: Map<string, string> = new Map();
|
|
25
|
-
headers.set('Content-Type', 'application/json');
|
|
26
|
-
const multiReq = new MultiRequestBuilder(headers);
|
|
27
|
-
multiReq.method = 'POST';
|
|
28
|
-
multiReq.service = SERVICE_NAME;
|
|
29
|
-
multiReq.url = multiReq.getUrl(config.serviceUrl);
|
|
30
|
-
multiReq.params = ovpParams;
|
|
31
|
-
return multiReq;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
//@flow
|
|
2
|
-
import OVPService from './ovp-service';
|
|
3
|
-
import RequestBuilder from '../../../util/request-builder';
|
|
4
|
-
import {BaseEntryResponseProfile} from '../request-params/base-entry-response-profile';
|
|
5
|
-
|
|
6
|
-
const SERVICE_NAME: string = 'playlist';
|
|
7
|
-
|
|
8
|
-
export default class OVPPlaylistService extends OVPService {
|
|
9
|
-
/**
|
|
10
|
-
* Creates an instance of RequestBuilder for playlist.getPlaybackContext
|
|
11
|
-
* @function getPlaybackContext
|
|
12
|
-
* @param {string} serviceUrl The service base URL
|
|
13
|
-
* @param {string} ks The ks
|
|
14
|
-
* @param {string} playlistId The playlist ID
|
|
15
|
-
* @returns {RequestBuilder} The request builder
|
|
16
|
-
* @static
|
|
17
|
-
*/
|
|
18
|
-
static execute(serviceUrl: string, ks: string, playlistId: string): RequestBuilder {
|
|
19
|
-
const headers: Map<string, string> = new Map();
|
|
20
|
-
headers.set('Content-Type', 'application/json');
|
|
21
|
-
const request = new RequestBuilder(headers);
|
|
22
|
-
request.service = SERVICE_NAME;
|
|
23
|
-
request.action = 'execute';
|
|
24
|
-
request.method = 'POST';
|
|
25
|
-
request.url = request.getUrl(serviceUrl);
|
|
26
|
-
request.tag = `${SERVICE_NAME}-execute`;
|
|
27
|
-
request.params = {
|
|
28
|
-
ks: ks,
|
|
29
|
-
id: playlistId,
|
|
30
|
-
responseProfile: new BaseEntryResponseProfile()
|
|
31
|
-
};
|
|
32
|
-
return request;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Creates an instance of RequestBuilder for playlist.list
|
|
37
|
-
* @function list
|
|
38
|
-
* @param {string} serviceUrl The base URL
|
|
39
|
-
* @param {string} ks The ks
|
|
40
|
-
* @param {string} playlistId The playlist ID
|
|
41
|
-
* @returns {RequestBuilder} The request builder
|
|
42
|
-
* @static
|
|
43
|
-
*/
|
|
44
|
-
static get(serviceUrl: string, ks: string, playlistId: string): RequestBuilder {
|
|
45
|
-
const headers: Map<string, string> = new Map();
|
|
46
|
-
headers.set('Content-Type', 'application/json');
|
|
47
|
-
const request = new RequestBuilder(headers);
|
|
48
|
-
request.service = SERVICE_NAME;
|
|
49
|
-
request.action = 'get';
|
|
50
|
-
request.method = 'POST';
|
|
51
|
-
request.url = request.getUrl(serviceUrl);
|
|
52
|
-
request.tag = `${SERVICE_NAME}-get`;
|
|
53
|
-
request.params = {
|
|
54
|
-
ks: ks,
|
|
55
|
-
id: playlistId,
|
|
56
|
-
responseProfile: {
|
|
57
|
-
fields: 'id,name,description,thumbnailUrl',
|
|
58
|
-
type: 1
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
return request;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
//@flow
|
|
2
|
-
import OVPService from './ovp-service';
|
|
3
|
-
import RequestBuilder from '../../../util/request-builder';
|
|
4
|
-
|
|
5
|
-
const SERVICE_NAME: string = 'session';
|
|
6
|
-
|
|
7
|
-
export default class OVPSessionService extends OVPService {
|
|
8
|
-
/**
|
|
9
|
-
* Creates an instance of RequestBuilder for session.startWidgetSession
|
|
10
|
-
* @function anonymousSession
|
|
11
|
-
* @param {string} serviceUrl The service base URL
|
|
12
|
-
* @param {string} widgetId The widget ID
|
|
13
|
-
* @returns {RequestBuilder} The request builder
|
|
14
|
-
* @static
|
|
15
|
-
*/
|
|
16
|
-
static anonymousSession(serviceUrl: string, widgetId: string): RequestBuilder {
|
|
17
|
-
const headers: Map<string, string> = new Map();
|
|
18
|
-
headers.set('Content-Type', 'application/json');
|
|
19
|
-
const request = new RequestBuilder(headers);
|
|
20
|
-
request.service = SERVICE_NAME;
|
|
21
|
-
request.action = 'startWidgetSession';
|
|
22
|
-
request.method = 'POST';
|
|
23
|
-
request.url = request.getUrl(serviceUrl);
|
|
24
|
-
request.tag = 'session-startWidget';
|
|
25
|
-
request.params = {widgetId};
|
|
26
|
-
return request;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
// @flow
|
|
2
|
-
import RequestBuilder from '../../../../util/request-builder';
|
|
3
|
-
import OVPConfiguration from '../../config';
|
|
4
|
-
import OVPStatsService from './stats-service';
|
|
5
|
-
|
|
6
|
-
declare var __VERSION__: string;
|
|
7
|
-
declare var __NAME__: string;
|
|
8
|
-
|
|
9
|
-
const NAME = __NAME__ + '-stats-service';
|
|
10
|
-
const VERSION = __VERSION__;
|
|
11
|
-
|
|
12
|
-
export {OVPStatsService, OVPConfiguration, RequestBuilder, NAME, VERSION};
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
//@flow
|
|
2
|
-
import OVPService from '../ovp-service';
|
|
3
|
-
import RequestBuilder from '../../../../util/request-builder';
|
|
4
|
-
import OVPConfiguration from '../../config';
|
|
5
|
-
import {param} from '../../../../util/param';
|
|
6
|
-
|
|
7
|
-
const SERVICE_NAME: string = 'stats';
|
|
8
|
-
|
|
9
|
-
export default class OVPStatsService extends OVPService {
|
|
10
|
-
/**
|
|
11
|
-
* Creates an instance of RequestBuilder for stats.collect
|
|
12
|
-
* @function collect
|
|
13
|
-
* @param {string} serviceUrl - The service base url
|
|
14
|
-
* @param {string} ks - The ks
|
|
15
|
-
* @param {string} playerVersion - The player version
|
|
16
|
-
* @param {Object} event - The event data
|
|
17
|
-
* @returns {RequestBuilder} - The request builder
|
|
18
|
-
* @static
|
|
19
|
-
*/
|
|
20
|
-
static collect(serviceUrl: string, ks: string, playerVersion: string, event: Object): RequestBuilder {
|
|
21
|
-
const ovpParams = OVPConfiguration.get();
|
|
22
|
-
const serviceParams = {};
|
|
23
|
-
Object.assign(serviceParams, ovpParams.serviceParams, {ks: ks, clientTag: 'html5:v' + playerVersion}, event);
|
|
24
|
-
const request = new RequestBuilder();
|
|
25
|
-
request.service = SERVICE_NAME;
|
|
26
|
-
request.action = 'collect';
|
|
27
|
-
request.method = 'GET';
|
|
28
|
-
request.tag = 'stats-collect';
|
|
29
|
-
request.params = serviceParams;
|
|
30
|
-
request.url = serviceUrl + '?service=' + request.service + '&action=' + request.action + '&' + param(request.params);
|
|
31
|
-
return request;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
//@flow
|
|
2
|
-
import OVPService from './ovp-service';
|
|
3
|
-
import RequestBuilder from '../../../util/request-builder';
|
|
4
|
-
|
|
5
|
-
const SERVICE_NAME: string = 'uiconf';
|
|
6
|
-
|
|
7
|
-
export default class OVPUIConfService extends OVPService {
|
|
8
|
-
/**
|
|
9
|
-
* Creates an instance of RequestBuilder for uiconf.get
|
|
10
|
-
* @function get
|
|
11
|
-
* @param {string} serviceUrl The service base URL
|
|
12
|
-
* @param {string} ks The ks
|
|
13
|
-
* @param {string} uiConfId The uiConf ID
|
|
14
|
-
* @returns {RequestBuilder} The request builder
|
|
15
|
-
* @static
|
|
16
|
-
*/
|
|
17
|
-
static get(serviceUrl: string, ks: string, uiConfId: number): RequestBuilder {
|
|
18
|
-
const headers: Map<string, string> = new Map();
|
|
19
|
-
headers.set('Content-Type', 'application/json');
|
|
20
|
-
const request = new RequestBuilder(headers);
|
|
21
|
-
request.service = SERVICE_NAME;
|
|
22
|
-
request.action = 'get';
|
|
23
|
-
request.method = 'POST';
|
|
24
|
-
request.url = request.getUrl(serviceUrl);
|
|
25
|
-
request.tag = 'uiconf-get';
|
|
26
|
-
const responseProfileParams = {
|
|
27
|
-
fields: 'config',
|
|
28
|
-
type: 1
|
|
29
|
-
};
|
|
30
|
-
request.params = {id: uiConfId, responseProfile: responseProfileParams, ks: ks};
|
|
31
|
-
return request;
|
|
32
|
-
}
|
|
33
|
-
}
|
package/src/util/clone.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
const clone = data => {
|
|
2
|
-
let node;
|
|
3
|
-
if (Array.isArray(data)) {
|
|
4
|
-
node = data.length > 0 ? data.slice(0) : [];
|
|
5
|
-
node.forEach((e, i) => {
|
|
6
|
-
if ((typeof e === 'object' && e !== {}) || (Array.isArray(e) && e.length > 0)) {
|
|
7
|
-
node[i] = clone(e);
|
|
8
|
-
}
|
|
9
|
-
});
|
|
10
|
-
} else if (typeof data === 'object') {
|
|
11
|
-
node = Object.assign({}, data);
|
|
12
|
-
Object.keys(node).forEach(key => {
|
|
13
|
-
if ((typeof node[key] === 'object' && node[key] !== {}) || (Array.isArray(node[key]) && node[key].length > 0)) {
|
|
14
|
-
node[key] = clone(node[key]);
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
} else {
|
|
18
|
-
node = data;
|
|
19
|
-
}
|
|
20
|
-
return node;
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
export {clone};
|
package/src/util/error/code.js
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
//@flow
|
|
2
|
-
|
|
3
|
-
type CodeType = {[code: string]: number};
|
|
4
|
-
|
|
5
|
-
const Code: CodeType = {
|
|
6
|
-
/**
|
|
7
|
-
* A network request was made using an unsupported URI scheme.
|
|
8
|
-
*/
|
|
9
|
-
UNSUPPORTED_SCHEME: 1000,
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* An HTTP network request returned an HTTP status that indicated a failure.
|
|
13
|
-
*/
|
|
14
|
-
BAD_HTTP_STATUS: 1001,
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* An HTTP network request failed with an error, but not from the server.
|
|
18
|
-
*/
|
|
19
|
-
HTTP_ERROR: 1002,
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* A network request timed out.
|
|
23
|
-
*/
|
|
24
|
-
TIMEOUT: 1003,
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* A network request was made with a malformed data URI.
|
|
28
|
-
*/
|
|
29
|
-
MALFORMED_DATA_URI: 1004,
|
|
30
|
-
|
|
31
|
-
/**
|
|
32
|
-
* The server responsded with 2xx response, but it couldn't be parsed
|
|
33
|
-
*/
|
|
34
|
-
BAD_SERVER_RESPONSE: 1005,
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* The server response had a valid structure but contained an error from the API
|
|
38
|
-
*/
|
|
39
|
-
MULTIREQUEST_API_ERROR: 1006,
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* The server response had a valid structure and valid API result, but it did not match the request
|
|
43
|
-
*/
|
|
44
|
-
API_RESPONSE_MISMATCH: 1007,
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* The server responded with an error
|
|
48
|
-
*/
|
|
49
|
-
ERROR: 2000,
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* The server responded with a block action
|
|
53
|
-
*/
|
|
54
|
-
BLOCK_ACTION: 2001,
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* The server responded with status import or pre convert
|
|
58
|
-
*/
|
|
59
|
-
MEDIA_STATUS_NOT_READY: 2002,
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* The provider is missing mandatory parameter/s
|
|
63
|
-
*/
|
|
64
|
-
|
|
65
|
-
MISSING_MANDATORY_PARAMS: 3000,
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* The server responded with empty sources objects (for HLS, Dash and progressive)
|
|
69
|
-
*/
|
|
70
|
-
MISSING_PLAY_SOURCE: 3001,
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* The provider doesn't implement the called api
|
|
74
|
-
*/
|
|
75
|
-
METHOD_NOT_IMPLEMENTED: 3002
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
export {Code};
|
|
79
|
-
export type {CodeType};
|
package/src/util/error/error.js
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
//@flow
|
|
2
|
-
import getLogger from '../logger';
|
|
3
|
-
import {Severity} from './severity';
|
|
4
|
-
import type {SeverityType} from './severity';
|
|
5
|
-
import {Code} from './code';
|
|
6
|
-
import type {CodeType} from './code';
|
|
7
|
-
import {Category} from './category';
|
|
8
|
-
import type {CategoryType} from './category';
|
|
9
|
-
|
|
10
|
-
const CLASS_NAME: string = 'Error';
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* @classdesc This is a description of the error class.
|
|
14
|
-
*/
|
|
15
|
-
export default class Error {
|
|
16
|
-
severity: number;
|
|
17
|
-
category: number;
|
|
18
|
-
code: number;
|
|
19
|
-
data: any;
|
|
20
|
-
/**
|
|
21
|
-
* @enum {number}
|
|
22
|
-
*/
|
|
23
|
-
static Severity: SeverityType = Severity;
|
|
24
|
-
/**
|
|
25
|
-
* @enum {number}
|
|
26
|
-
*/
|
|
27
|
-
static Category: CategoryType = Category;
|
|
28
|
-
/**
|
|
29
|
-
* @enum {number}
|
|
30
|
-
*/
|
|
31
|
-
static Code: CodeType = Code;
|
|
32
|
-
static _logger: any = getLogger(CLASS_NAME);
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* @constructor
|
|
36
|
-
* @param {number} severity - error's severity
|
|
37
|
-
* @param {number} category - error's category.
|
|
38
|
-
* @param {number} code - error's code.
|
|
39
|
-
* @param {any} data - additional data for the error.
|
|
40
|
-
*/
|
|
41
|
-
constructor(severity: number, category: number, code: number, data: any = {}) {
|
|
42
|
-
this.severity = severity;
|
|
43
|
-
this.category = category;
|
|
44
|
-
this.code = code;
|
|
45
|
-
this.data = data;
|
|
46
|
-
Error._logger.error(`Category:${category} | Code:${code} |`, data);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
//@flow
|
|
2
|
-
|
|
3
|
-
type SeverityType = {[severity: string]: number};
|
|
4
|
-
|
|
5
|
-
const Severity: SeverityType = {
|
|
6
|
-
/**
|
|
7
|
-
* An error occurred, but the Player is attempting to recover from the error.
|
|
8
|
-
*
|
|
9
|
-
* If the Player cannot ultimately recover, it still may not throw a CRITICAL
|
|
10
|
-
* error. For example, retrying for a media segment will never result in
|
|
11
|
-
* a CRITICAL error (the Player will just retry forever).
|
|
12
|
-
*/
|
|
13
|
-
RECOVERABLE: 1,
|
|
14
|
-
/**
|
|
15
|
-
* A critical error that the library cannot recover from. These usually cause
|
|
16
|
-
* the Player to stop loading or updating. A new manifest must be loaded
|
|
17
|
-
* to reset the library.
|
|
18
|
-
*/
|
|
19
|
-
CRITICAL: 2
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
export {Severity};
|
|
23
|
-
export type {SeverityType};
|
package/src/util/logger.js
DELETED
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
//@flow
|
|
2
|
-
export type LogLevelObject = {value: number, name: string};
|
|
3
|
-
export type LogLevelType = {[level: string]: LogLevelObject};
|
|
4
|
-
export type loggerFunctionType = {
|
|
5
|
-
VERSION: String,
|
|
6
|
-
DEBUG: LogLevelObject,
|
|
7
|
-
ERROR: LogLevelObject,
|
|
8
|
-
INFO: LogLevelObject,
|
|
9
|
-
OFF: LogLevelObject,
|
|
10
|
-
TIME: LogLevelObject,
|
|
11
|
-
TRACE: LogLevelObject,
|
|
12
|
-
WARN: LogLevelObject,
|
|
13
|
-
createDefaultHandler: Function,
|
|
14
|
-
debug: Function,
|
|
15
|
-
enabledFor: Function,
|
|
16
|
-
error: Function,
|
|
17
|
-
get: Function,
|
|
18
|
-
getLevel: Function,
|
|
19
|
-
info: Function,
|
|
20
|
-
log: Function,
|
|
21
|
-
setHandler: Function,
|
|
22
|
-
setLevel: Function,
|
|
23
|
-
time: Function,
|
|
24
|
-
timeEnd: Function,
|
|
25
|
-
trace: Function,
|
|
26
|
-
useDefaults: Function,
|
|
27
|
-
warn: Function
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
export type LoggerType = {
|
|
31
|
-
getLogger: loggerFunctionType,
|
|
32
|
-
LogLevel: LogLevelType
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
let JsLogger = {
|
|
36
|
-
get: () => ({
|
|
37
|
-
VERSION: '',
|
|
38
|
-
DEBUG: {value: '', name: ''},
|
|
39
|
-
ERROR: {value: '', name: ''},
|
|
40
|
-
INFO: {value: '', name: ''},
|
|
41
|
-
OFF: {value: '', name: ''},
|
|
42
|
-
TIME: {value: '', name: ''},
|
|
43
|
-
TRACE: {value: '', name: ''},
|
|
44
|
-
WARN: {value: '', name: ''},
|
|
45
|
-
createDefaultHandler: () => {},
|
|
46
|
-
debug: () => {},
|
|
47
|
-
enabledFor: () => {},
|
|
48
|
-
error: () => {},
|
|
49
|
-
get: () => {},
|
|
50
|
-
getLevel: () => {},
|
|
51
|
-
info: () => {},
|
|
52
|
-
log: () => {},
|
|
53
|
-
setHandler: () => {},
|
|
54
|
-
setLevel: () => {},
|
|
55
|
-
time: () => {},
|
|
56
|
-
timeEnd: () => {},
|
|
57
|
-
trace: () => {},
|
|
58
|
-
useDefaults: () => {},
|
|
59
|
-
warn: () => {}
|
|
60
|
-
})
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
let LogLevel: LogLevelType = {};
|
|
64
|
-
/**
|
|
65
|
-
* set logger
|
|
66
|
-
* @param {LoggerType} logger - the logger
|
|
67
|
-
* @returns {void}
|
|
68
|
-
*/
|
|
69
|
-
function setLogger(logger: ?LoggerType): void {
|
|
70
|
-
if (logger && typeof logger.getLogger === 'function') {
|
|
71
|
-
JsLogger.get = logger.getLogger;
|
|
72
|
-
}
|
|
73
|
-
if (logger && logger.LogLevel) {
|
|
74
|
-
LogLevel = logger.LogLevel;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* get a logger
|
|
80
|
-
* @param {?string} name - the logger name
|
|
81
|
-
* @returns {Object} - the logger class
|
|
82
|
-
*/
|
|
83
|
-
function getLogger(name?: string): Object {
|
|
84
|
-
//$FlowFixMe
|
|
85
|
-
return JsLogger.get(name);
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* get the log level
|
|
90
|
-
* @param {?string} name - the logger name
|
|
91
|
-
* @returns {LogLevelObject} - the log level
|
|
92
|
-
*/
|
|
93
|
-
function getLogLevel(name?: string): LogLevelObject {
|
|
94
|
-
return getLogger(name).getLevel();
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
/**
|
|
98
|
-
* sets the logger level
|
|
99
|
-
* @param {LogLevelObject} level - the log level
|
|
100
|
-
* @param {?string} name - the logger name
|
|
101
|
-
* @returns {void}
|
|
102
|
-
*/
|
|
103
|
-
function setLogLevel(level: LogLevelObject, name?: string): void {
|
|
104
|
-
getLogger(name).setLevel(level);
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
export default getLogger;
|
|
108
|
-
export {getLogLevel, setLogLevel, setLogger, LogLevel};
|