Files
grafana/public/app/features/alerting/unified/utils/url.ts

24 lines
842 B
TypeScript

import { config } from '@grafana/runtime';
export function createUrl(path: string, queryParams?: string[][] | Record<string, string> | string | URLSearchParams) {
const searchParams = new URLSearchParams(queryParams);
const searchParamsString = searchParams.toString();
return `${config.appSubUrl}${path}${searchParamsString ? `?${searchParamsString}` : ''}`;
}
export function createAbsoluteUrl(
path: string,
queryParams?: string[][] | Record<string, string> | string | URLSearchParams
) {
const searchParams = new URLSearchParams(queryParams);
const searchParamsString = searchParams.toString();
try {
const baseUrl = new URL(config.appSubUrl + path, config.appUrl);
return `${baseUrl.href}${searchParamsString ? `?${searchParamsString}` : ''}`;
} catch (err) {
return createUrl(path, queryParams);
}
}