Skip to content

Commit

Permalink
feat(FEC-8998): add url encoded for referrer token (#299)
Browse files Browse the repository at this point in the history
add new property "encodedReferrer" to plugins config model which uses a new method getEncodedReferrer in kaltura-params which encodes the getReferrer
  • Loading branch information
RoyBregman authored Jan 29, 2020
1 parent c7f7748 commit b540625
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 4 deletions.
3 changes: 2 additions & 1 deletion src/common/plugins/plugins-config-store.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,8 @@ const defaultConfig: dataStoreType = {
sessionId: '{{sessionId}}',
ks: '{{ks}}',
uiConfId: '{{uiConfId}}',
referrer: '{{referrer}}'
referrer: '{{referrer}}',
encodedReferrer: '{{encodedReferrer}}'
},
comscore: {
playerVersion: '{{pVersion}}'
Expand Down
14 changes: 12 additions & 2 deletions src/common/plugins/plugins-config.js
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,8 @@ const getModel = (options: KPOptionsObject): Object => {
}
}
const entryDataModel = {
referrer: getReferrer()
referrer: getReferrer(),
encodedReferrer: getEncodedReferrer()
};
if (options.provider) {
Utils.Object.mergeDeep(entryDataModel, {
Expand Down Expand Up @@ -93,6 +94,15 @@ const getModel = (options: KPOptionsObject): Object => {
return dataModel;
};

/**
* @return {string} - The referrer after URIComponent encoded
* @private
*/
function getEncodedReferrer(): string {
const referrer = getReferrer();
return encodeURIComponent(referrer);
}

/**
* @param {PKPluginsConfigObject} options - plugins options
* @param {KPOptionsObject} config - player config
Expand Down Expand Up @@ -172,4 +182,4 @@ function _mergeConfig(data: Object, evaluatedConfig: Object): void {
}
}

export {evaluatePluginsConfig, evaluateUIConfig};
export {evaluatePluginsConfig, evaluateUIConfig, getEncodedReferrer};
12 changes: 11 additions & 1 deletion test/src/common/plugins/plugins-config.spec.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import {evaluatePluginsConfig} from '../../../../src/common/plugins/plugins-config';
import {evaluatePluginsConfig, getEncodedReferrer} from '../../../../src/common/plugins/plugins-config';
let sandbox = sinon.sandbox.create();

describe('evaluatePluginsConfig', function() {
const playerConfig = {
Expand Down Expand Up @@ -37,3 +38,12 @@ describe('evaluatePluginsConfig', function() {
pluginsConfig.kava.myArray.should.deep.equal([1, 'value', 0, true, false]);
});
});

describe('getEncodedReferrer', function() {
it('should encode the referrer', function() {
sandbox.stub(window.parent.document, 'URL').get(() => {
return 'http://localhost:3000/?debugKalturaPlayer';
});
getEncodedReferrer().should.be.equal('http%3A%2F%2Flocalhost%3A3000%2F%3FdebugKalturaPlayer');
});
});

0 comments on commit b540625

Please sign in to comment.