@splitsoftware/splitio-commons
Version:
Split JavaScript SDK common components
28 lines (27 loc) • 925 B
JavaScript
var telemetryEndpointMatcher = /^\/v1\/metrics\/(config|usage)/;
var eventsEndpointMatcher = /^\/(testImpressions|metrics|events)/;
var authEndpointMatcher = /^\/v2\/auth/;
var streamingEndpointMatcher = /^\/(sse|event-stream)/;
/**
* Get URL based on a given target (path).
* ATM, it is only used for testing purposes.
*
* @param settings - settings object
* @param target - url path
* @returns complete url
*/
export function url(settings, target) {
if (telemetryEndpointMatcher.test(target)) {
return "" + settings.urls.telemetry + target;
}
if (eventsEndpointMatcher.test(target)) {
return "" + settings.urls.events + target;
}
if (authEndpointMatcher.test(target)) {
return "" + settings.urls.auth + target;
}
if (streamingEndpointMatcher.test(target)) {
return "" + settings.urls.streaming + target;
}
return "" + settings.urls.sdk + target;
}