UNPKG

@kinvolk/headlamp-plugin

Version:

The needed infrastructure for building Headlamp plugins.

40 lines (36 loc) 1.15 kB
/* * Copyright 2025 The Kubernetes Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * Validates a URL string. * Only allows http and https schemes to prevent unsafe URI execution (e.g. javascript:). * * @param url The URL string to validate * @returns The original URL if it's safe and valid, otherwise undefined */ export function getSafeUrl(url?: string): string | undefined { if (!url) { return undefined; } try { const parsed = new URL(url); if (parsed.protocol === 'http:' || parsed.protocol === 'https:') { return url; } return undefined; } catch { return undefined; } }