Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions lib-es5/utils/encoding/sdkAnalytics/getSDKVersions.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
'use strict';

var fs = require('fs');
var path = require('path');
var sdkCode = 'M'; // Constant per SDK

/**
* @description Gets the relevant versions of the SDK(package version, node version and sdkCode)
* @param {'default' | 'x.y.z' | 'x.y' | string} useSDKVersion Default uses package.json version
* @param {'default' | 'x.y.z' | 'x.y' | string} useNodeVersion Default uses process.versions.node
* @return {{sdkSemver:string, techVersion:string, sdkCode:string}} A map of relevant versions and codes
*/
function getSDKVersions() {
var useSDKVersion = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'default';
var useNodeVersion = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default';

var pkgJSONFile = fs.readFileSync(path.join(__dirname, '../../../../package.json'), 'utf-8');

// allow to pass a custom SDKVersion
var sdkSemver = useSDKVersion === 'default' ? JSON.parse(pkgJSONFile).version : useSDKVersion;

// allow to pass a custom techVersion (Node version)
var techVersion = useNodeVersion === 'default' ? process.versions.node : useNodeVersion;

return {
sdkSemver,
techVersion,
sdkCode
};
}

module.exports = getSDKVersions;
18 changes: 0 additions & 18 deletions lib-es5/utils/encoding/sdkVersionID/base64Map.js

This file was deleted.

44 changes: 0 additions & 44 deletions lib-es5/utils/encoding/sdkVersionID/encodeVersion.js

This file was deleted.

15 changes: 0 additions & 15 deletions lib-es5/utils/encoding/sdkVersionID/getSDKFeatureCode.js

This file was deleted.

55 changes: 0 additions & 55 deletions lib-es5/utils/encoding/sdkVersionID/getSDKVersionID.js

This file was deleted.

22 changes: 0 additions & 22 deletions lib-es5/utils/encoding/sdkVersionID/revereseVersion.js

This file was deleted.

21 changes: 13 additions & 8 deletions lib-es5/utils/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,11 @@ var ensurePresenceOf = require('./ensurePresenceOf');
var ensureOption = require('./ensureOption').defaults(config());
var entries = require('./entries');
var isRemoteUrl = require('./isRemoteUrl');
var getSDKVersionID = require('./encoding/sdkVersionID/getSDKVersionID');
var getSDKVersions = require('./encoding/sdkAnalytics/getSDKVersions');

var _require$Util = require('cloudinary-core').Util,
getAnalyticsOptions = _require$Util.getAnalyticsOptions,
getSDKAnalyticsSignature = _require$Util.getSDKAnalyticsSignature;

exports = module.exports;
var utils = module.exports;
Expand Down Expand Up @@ -779,19 +783,20 @@ function url(public_id) {
resultUrl += `?${token}`;
}

var analytics = ensureOption(options, 'analytics', false);
var responsive = ensureOption(options, 'responsive', false);
var urlAnalytics = ensureOption(options, 'urlAnalytics', false);

if (urlAnalytics === true) {
var sdkVersions = getSDKVersions();
var analyticsOptions = getAnalyticsOptions(Object.assign({}, options, sdkVersions));

var sdkAnalyticsSignature = getSDKAnalyticsSignature(analyticsOptions);

if (analytics === true) {
var sdkVersionID = getSDKVersionID({
responsive
});
// url might already have a '?' query param
var appender = '?';
if (resultUrl.indexOf('?') >= 0) {
appender = '&';
}
resultUrl = `${resultUrl}${appender}_s=${sdkVersionID}`;
resultUrl = `${resultUrl}${appender}_s=${sdkAnalyticsSignature}`;
}

return resultUrl;
Expand Down
27 changes: 27 additions & 0 deletions lib/utils/encoding/sdkAnalytics/getSDKVersions.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
let fs = require('fs');
let path = require('path');
let sdkCode = 'M'; // Constant per SDK

/**
* @description Gets the relevant versions of the SDK(package version, node version and sdkCode)
* @param {'default' | 'x.y.z' | 'x.y' | string} useSDKVersion Default uses package.json version
* @param {'default' | 'x.y.z' | 'x.y' | string} useNodeVersion Default uses process.versions.node
* @return {{sdkSemver:string, techVersion:string, sdkCode:string}} A map of relevant versions and codes
*/
function getSDKVersions(useSDKVersion = 'default', useNodeVersion = 'default') {
let pkgJSONFile = fs.readFileSync(path.join(__dirname, '../../../../package.json'), 'utf-8');

// allow to pass a custom SDKVersion
let sdkSemver = useSDKVersion === 'default' ? JSON.parse(pkgJSONFile).version : useSDKVersion;

// allow to pass a custom techVersion (Node version)
let techVersion = useNodeVersion === 'default' ? process.versions.node : useNodeVersion;

return {
sdkSemver,
techVersion,
sdkCode
};
}

module.exports = getSDKVersions;
15 changes: 0 additions & 15 deletions lib/utils/encoding/sdkVersionID/base64Map.js

This file was deleted.

42 changes: 0 additions & 42 deletions lib/utils/encoding/sdkVersionID/encodeVersion.js

This file was deleted.

11 changes: 0 additions & 11 deletions lib/utils/encoding/sdkVersionID/getSDKFeatureCode.js

This file was deleted.

49 changes: 0 additions & 49 deletions lib/utils/encoding/sdkVersionID/getSDKVersionID.js

This file was deleted.

Loading